2016-03-31 12 views
0

Ich habe das folgende XML in einer .discomap-Datei in einer Visual Studio-Webanwendung.Verwenden Sie eine Variable in XML-Datei

<?xml version="1.0" encoding="utf-8"?> 
    <DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Results> 
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://mywebserver/service/Service.asmx?wsdl" filename="Service.wsdl" /> 
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://mywebserver/service/Service.asmx?disco" filename="Service.disco" /> 
    </Results> 
</DiscoveryClientResultsFile> 

Ich möchte in der Lage sein, die http://mywebserver Teile parametrisieren, da dies die Umwelt je nach Projekt entfaltet ändern wird.

ich erfolgreich andere Teile meiner Web-Anwendung mit dieser Codezeile in meiner web.config-Datei parametriert habe:

<add key="WebServerURL" value="http://mywebserver01" /> 

Ist das, was ich versuche möglich zu tun, diese Datei ein haben abholen der Wert der WebServerURL aus dem webconfig appSettings?

Danke.

Antwort

1

Sie einfach die .URL Eigenschaft des Service-Objekt in Ihrem Laufzeitcode gesetzt:

Dim svc As New SomeWebService 
    svc.Url = System.Configuration.ConfigurationManager.AppSetttings("WebServerURL") 
+0

hey - Dank für die Kommentare. Ich kann mein Webconfig auf das, worüber du sprichst, aktualisieren. sagen Sie, dass die Verwendung von AppSettings die xml-Informationen effektiv redundant macht? also müsste ich sie nicht manuell pflegen? Das ist das Ziel. Wenn das stimmt, dann großartig. – dstewart101

+0

Ich habe folgendes in meinem Code: Dim Webservice Wie Pointer.WebService = New Pointer.WebService() und es gibt bereits eine AppSettings Schlüssel ... Pointer.PointerWebService Wert = "http: // myWebServer/Pointer/WebService. asmx ".... sagst du das kann in meinem Code hinterher überschrieben werden? z.B. Dim webservice As Pointer.WebService = Neuer Pointer.WebService(); webservice.URL = * URL von appSettings hier eingeben * – dstewart101

+0

Ok - also habe ich mit dem gespielt und ich bin auf der Suche nach mehr Beratung. Es scheint, dass ich diese Informationen überhaupt nicht veröffentlichen muss. Ich verwende nur den Web-Service, sobald er veröffentlicht wurde. Habe ich recht, wenn ich sage, dass die Discodatei und die WSDL nur für Operationen vom Typ "localhost" bestimmt sind? – dstewart101

Verwandte Themen