tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
5363
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    dila71 dila71 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    76
    Hallo,
    in meiner Anwendung habe ich eine Stelle an der ich je nach Anwendungsfall unterschiedliche Webservices einbinden muss. Von dieses ist mir die URL und die aufzurufende Methode bekannt.

    Wie ich einen Webservice mit einer vorher erzeugten Referenz einbinde weiss ich. Leider google ich mich dumm und dämlich nach einer Möglichkeit den Proxy dynamisch einzubinden oder den Service über einen HTTP-Request mit Parameterübergabe anzusprechen (sicher habe ich nur die falschen Suchbegriffe gewählt aber das Ergebnis ist das Selbe).

    Ich verwende c# und VS 2003.

    Kann mich da jemand (evtl. mit einem Beispiel) auf den richtigen Weg schubsen?



    Danke
    Dirk
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Hi,

    warst schon im richtigen Forum, daher hab ich es wieder zurück verschoben.

    Du möchtest also auf unterschiedliche WebServices zugreifen, die jedoch zu Beginn schon bekannt sind, richtig?

    Nun, du hast ja die Möglichkeit, über die Webressources WebServices einzubinden. Einfach alle die du benötigst einbinden, entsprechende Namen geben und je nach Zustand deiner Software auf das entsprechende Webservice zugreifen. Think easy
     

  3. #3
    dila71 dila71 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    76
    Hallo,
    zuerst mal vielen Dank für die Antwort. Hier eine ausführlichere Beschreibung.

    Es geht bei dem Projekt um ein "single sign on". Ein Partner auf dessen Seite ein Nutzer eingeloggt ist, ruft meine Seite mit einem url-Parameter "ticketnummer" und seiner Kennung auf. Nun muss ich das Ticket validieren.
    Die Webservices und die Methoden sind bei allen Partnern gleich. Der Url dahin aber variirt. Anhand der Kennung bekomme ich aus meiner Datenbank den Url wo der Service liegt.

    die Partner haben einen Zugang zur DB, so dass sie per Webinterface den URL jederzeit ändern können, solange der Servicenamen und die Methodennamen gleich bleiben.

    Somit ist ein "festes" einbinden von mehreren Webreferenzen schlecht möglich.
     

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Wenn wirklich alle WebServices gleich sind, dann könntest du einen Ansatz verfolgen. Eventuell führt er dich zum Ziel:

    Erstelle eine Web-Referenz, also ein WebService in dein Projekt einbinden. Wenn fertig, stellst du die Eigenschaft "URL Behavior" des eingebundenen WebServices von Static auf Dynamic.

    Was bewirkt diese Umstellung? Die URL wird in der app.config der Anwendung abgelegt. Diese kann daher dynamisch geändert werden. Eventuell kannst du dich da zwischen rein hängen, aber wird wohl eher schwieriger werden ausser du änderst die Url und instanzierst dann das Service neu.

    Weiterführende Informationen findest du unter http://msdn.microsoft.com/library/de...rviceproxy.asp
     

  5. #5
    dila71 dila71 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    76
    Nochmal Danke für Deine Hilfe.
    Das dynamische Einbinden, wie Du es beschrieben hast, hatte ich auch schon entdeckt. Das Problem ist, dass diese Vorgehensweise an die Wwb.config bindet. Ändert ein Partner seinen Url in der Datenbank, so bekommt ja aber meine web.config keine Event zum neu Auslesen.

    Aus diesem Grund habe ich es so gemacht, dass ich alle Webservices angelegt habe.
    Zu jedem Partner gibt es eine Klasse PartnerTicket. Diese leiten von eine abstrakten Klasse Ticket ab. Ticket hat eine statische Create Methode, welcher die erwähnte Kennung aus dem Url übergeben wird und welche mir die konkrete instanz einer Unterklasse liefert.

    Nicht die Lösung, die ich wollte aber einigermassen sauber würde ich sagen.

    Tschau
    Dirk
     

Ähnliche Themen

  1. Buttons dynamisch einbinden?
    Von Dr_Shiwago im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 04.02.10, 14:49
  2. flv-Filme dynamisch einbinden
    Von Tailor im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 14.01.07, 21:38
  3. JSP: dynamisch Inhalt einbinden
    Von chickenwings im Forum Java
    Antworten: 0
    Letzter Beitrag: 10.12.06, 13:15
  4. Dynamisch CSS einbinden
    Von antihero im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 08.06.06, 12:11
  5. UserControl dynamisch einbinden
    Von Maus im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 08.08.05, 17:25