tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
831
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von NSR
    NSR NSR ist offline Mitglied Silber
    Registriert seit
    Nov 2008
    Beiträge
    94
    Hi Leute,

    ich habe das Problem, dass ich einem gehosteten Programm in der Cloud daten (ints) schicken und am Ende auch wieder ints zurück bekommen muss. Ints können Theoretisch auch string sein, die ich dann im Programm (ASP.NET) in Ints Konvertieren muss.

    Hintergrund ist der, dass ich einen speziellen Rechner (Taschenrechner) in die Cloud gestellt habe (mit Oberfläche). Nun soll es allerdings auch möglich sein aus z.B. Excel heraus auf die Formeln zuzugreifen, welche hinter dem Programm liegen. Was dann so aussieht:
    jemand gibt 1-2 Daten ein und erhält 1-16 Werte zurück.

    Hat jemand eine Idee, wie ich das machen kann? Jeder hinweis ist willkommen, da ich für die Aufgabe nicht mehr viel Zeit habe.

    Grüße Nico.
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Die Cloud-Anwendung muss einen entsprechende WebService (WCF, REST, ODATA, ... ) zur Verfügung stellen, um von außen angesprochen werden kann.
    Für Excel empfielt sich dann wohl ein Plugin, welches den WS kennt
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Avatar von NSR
    NSR NSR ist offline Mitglied Silber
    Registriert seit
    Nov 2008
    Beiträge
    94
    Danke für die Antwort und entschuldige, dass ich so lange nicht zurückgeschrieben habe. (Hatte Abschlussprüfung)!!

    Hättest du mir ein paar Stichworte (Methoden, Namespaces, ...), nach denen ich suchen könnte (außer WCF, die die du oben aufgezählt hast), da ich noch nie was mit WebServices gemacht habe und auch nicht mehr wirklich die Zeit habe mich da einzuarbeiten.

    Wäre ech toll von dir!!

    Grüße Nico.
     

  4. #4
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Wäre es nicht erheblich einfacher, sich einfach mal ein paar Beispiele dazu anzuschauen?
    Hier auf der seite findest du genügend Stichwort: http://msdn.microsoft.com/en-us/library/ms733127.aspx
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  5. #5
    Avatar von NSR
    NSR NSR ist offline Mitglied Silber
    Registriert seit
    Nov 2008
    Beiträge
    94
    Also Leute jetzt mal meine Lösung:

    Zu einem Cloud (Azure) Projekt eine WCF Service WebRole (WCF Service) hinzufügen. Dieser besitzt dann ein Interface (Standardnamen) IService1.cs. Dieses Interface sieht so aus (anstatt meiner drei Methoden sind da zwei dummi Methoden drin, die habe ich aber gelöscht):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    [ServiceContract]
        public interface IBerechnungsmethoden
        {
            [OperationContract]
            string Berechne_Wasserdampf(double druck, double temperatur);
            [OperationContract]
            string Berechne_Sattdampf(double druckODERtemp, bool druck_true__temp_false);
            [OperationContract]
            string Berechne_Nassdampf(double druckODERtemp, bool druck_true__temp_false, double zahl2, int zahl2_ist);
        }

    Über dieses [OperationContract] gebt ihr die Methoden im Web frei.

    Als nächstes gibt es eine Service.svc.cs Datei. Diese erbt vom Interface (heißt es bei Interfacen auch erben ?) also müssen die Methoden aus dem Interface dort auftauchen. Bei mir sieht dass dan so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    public class Wasserdampf_Berechnung : IBerechnungsmethoden
        {
            Formeln formeln = new Formeln();
     
            public string Berechne_Wasserdampf(double druck, double temperatur)
            {
            }
     
            public string Berechne_Sattdampf(double druckODERtemp, bool druck_true__temp_false)
            {
            }
     
            public string Berechne_Nassdampf(double druckODERtemp, bool druck_true__temp_false, double zahl2, int zahl2_ist)
            {
            }
        }

    Die Formeln Klasse oben im Code ist eine Klasse, die im hochzuladenen Projekt eingebunden wurde aber nach ausen nicht sichtbar ist.

    Das wars eigentlich schon mit dem Projekt, welches ihr hochladen wollt.

    Dort wo ihr die Methoden verwenden wollt, geht geht im Projektmappen explorer mit rechts auf Verweis und wählt Dienstverweis aus. Wählt dann im Adressfeld die Adresse, wo euer hochgeladenes zu finden ist mit dem Zusatz "/Service1.svc" (oder wie ihr halt die Datei im Projektmappen explorer genant habt) und klickt auf Gehe zu.
    Fügt das angezeigen Ergebnis eurem Projekt hinzu und freut euch .

    Ich habe bei mir das Ergebnis Wasserdampf genannt, und deshalt sieht mein Zugriff auf die Klasse so aus:
    Code :
    1
    
    Wasserdampf.BerechnungsmethodenClient client = new Wasserdampf.BerechnungsmethodenClient();

    Ihr könnt danach auf die Methoden zugreifen, wie wenn sie normal im Projekt hinterlegt wären.
    Code :
    1
    
    string werte = client.Berechne_Wasserdampf(45.11, 23.5);

    Sollte beim Ausführen immer noch ein Fehler auftreten, fügt folgende Zeile irgendwo vor eurem Aufruf ein.
    Code :
    1
    
    System.Net.ServicePointManager.Expect100Continue = false;

    Ich habe keine Ahnung, für was das ist, aber damit sollte es dann funktionieren.

    Hoffe ich habe alles verständlich ge- und beschrieben und kann einigen von euch damit helfen.

    Grüße Nico.
    Geändert von NSR (10.06.11 um 12:13 Uhr)
     

Ähnliche Themen

  1. Eclipse Plug-In -- Tag Cloud
    Von PlugDes im Forum Java
    Antworten: 6
    Letzter Beitrag: 16.11.10, 11:19
  2. Befehl an ein Programm senden
    Von DarkBart im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 19.04.08, 00:25
  3. Daten von C Programm an Webserver senden
    Von AMoKx666 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 26.09.07, 07:19
  4. Tag Cloud erstellen - bin ich zu blind?
    Von charon76 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.05.07, 09:12
  5. Antworten: 14
    Letzter Beitrag: 19.04.04, 19:54