2008-08-07 7 views
6

Ich habe eine Web-Referenz für unseren Berichtsserver in unserer Anwendung eingebettet. Der Server, auf dem die Berichte gespeichert sind, könnte sich jedoch ändern, und ich würde gerne in der Lage sein, sie bei Bedarf "on the fly" zu ändern.Wie wird die URL für eine ASP.NET-Webreferenz aus einer Konfigurationsdatei in Visual Studio 2008 abgerufen?

Ich weiß, ich habe das schon einmal gemacht, aber ich kann mich nicht erinnern, wie. Danke für Ihre Hilfe.

Ich habe das manuell vorläufig gefahren. Es ist keine große Sache, die URL in den Code zu setzen, aber ich möchte herausfinden, was der "richtige" Weg dazu in VS 2008 ist. Kann mir jemand weitere Einblicke geben? Vielen Dank!


In VS2008, wenn ich die URL-Verhalten Eigenschaft Dynamische ändern habe ich den folgenden Code in der Referenzklasse automatisch generiert.

Kann ich diese Einstellung (MySettings) in der Datei web.config überschreiben? Ich denke, ich weiß nicht, wie die Einstellungen funktionieren.

Public Sub New() 
    MyBase.New 
    Me.Url = Global.My.MySettings.Default.Namespace_Reference_ServiceName 
    If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then 
     Me.UseDefaultCredentials = true 
     Me.useDefaultCredentialsSetExplicitly = false 
    Else 
     Me.useDefaultCredentialsSetExplicitly = true 
    End If 
End Sub 

EDIT

So hat das Zeug ein bisschen seit VS03 (was wahrscheinlich der letzte VS-Version war ich dies zu tun pflegte) geändert.

Nach: http://msdn.microsoft.com/en-us/library/a65txexh.aspx sieht es so aus, als ob ich ein Einstellungsobjekt habe, auf dem ich die Eigenschaft programmatisch festlegen kann, aber dass ich die Logik bereitstellen müsste, um diese URL aus der web.config abzurufen.

Ist dies die neue Standardmethode in VS2008, oder fehlt mir etwas?

EDIT # 2

Wer irgendwelche Ideen, die hier? Ich bin in meiner Anwendung herumgefahren und habe die URL selbst in meine web.config gesteckt und ausgelesen. Aber ich bin nicht glücklich damit, weil es sich immer noch so anfühlt, als würde ich etwas vermissen.

Antwort

0

Wenn Sie eine VS2005 "Web Reference" bedeuten, dann die generierten Proxy-Klassen haben eine URL-Eigenschaft, die die SOAP-Endpunkt-URL dieses Dienstes ist. Sie können diese Eigenschaft ändern und Ihre nachfolgenden HTTP-Kommunikationen an diesen neuen Endpunkt vornehmen lassen.

Bearbeiten: Ah, danke bcaff86. Ich wusste nicht, dass Sie das einfach tun könnten, indem Sie eine Eigenschaft ändern.

Verwandte Themen