2009-09-09 8 views
7

Ho un'applicazione per il framework .NET 2.0. La soluzione sta utilizzando la cartella di riferimento del servizio Web VS. Un grep attraverso la soluzione rivela che questo URL vive in una manciata di file. Tuttavia nell'applicazione distribuita una ricerca mostra che l'URL risiede solo in .config. Quindi cosa è successo a .disco e .wsdl? Sono compilati nell'exe? Fondamentalmente, ho bisogno di aggiornare l'URL e ho bisogno di sapere se questo richiede una nuova build.Posso modificare un URL di riferimento del servizio web nel file di configurazione?

Grazie!

+0

possibile duplicato di [È possibile modificare le proprietà di un WebReference in fase di esecuzione?] (Http://stackoverflow.com/questions/211510/is-it-possibile-per-cambiare-il-proprietà-di- a-webreference-in-run-time) –

risposta

4

Sì, è possibile modificare l'URL a cui si fa riferimento in fase di esecuzione.

Se si trova in un file .config, IIS sarà l'app dovrebbe rilevare la modifica nel file .config e caricare il nuovo valore. In caso contrario, dovresti riavviare il client. Forse è possibile interrompere e avviare il sito Web in IIS.

Inoltre, puoi sicuramente scrivere il tuo codice per leggere da un file .config.

var myWS = new MyWebService(); 
    myWS.Url = WebServiceURL; 
    myWS.SomeMethod();      

private static string WebServiceURL { 
    get { return ConfigurationManager.AppSettings["MyWebServiceURL"].ToString(); }   } 

Intanto nel file .config, si dispone:

<appSettings> 
    <add key="MyWebServiceURL" value="http://blah/foo/bar.asmx" /> 
    </appSettings> 
+0

@pcampbell: Ha senso per me. –

+0

Sto parlando della configurazione dell'applicazione client per puntare all'URL corretto. Non il servizio Web in esecuzione sul server. Perché dovrei resettare IIS? – Nick

+0

Avevo in mente lo scenario di un'app web che raccoglieva le impostazioni dal file .config. –

0

È possibile modificare l'URL nella configurazione web (. Se il webservice rimane inalterato Non così sicuro se il webservice come modificato)