2009-09-09 15 views
7

2.0 .NET çerçevesini hedefleyen bir uygulamam var. Çözüm, VS web servis referans klasörünü kullanıyor. Çözümdeki bir grep, bu URL'nin bir avuç dosyada yaşadığını gösterir. Ancak, dağıtılan uygulamada, bir arama URL'nin yalnızca .config içinde yaşadığını gösterir. O zaman .disco ve .wsdl’e ne oldu? .exe dosyasına derlenmişler mi? Temel olarak, URL'yi güncellemem gerekiyor ve bunun yeni bir derleme gerektirip gerektirmediğini bilmem gerekiyor.Yapılandırma dosyasında bir web hizmeti referansı URL'sini değiştirebilir miyim?

Teşekkürler!

+0

olası bir kopyası [Çalışma zamanında WebReference özelliklerini değiştirmek mümkün mü?] (Http://stackoverflow.com/questions/211510/is-it-possible-to-change-the-properties-of- a-webreferans-çalışma zamanı) –

cevap

4

Evet, çalışma zamanında başvurulan URL'yi değiştirebilirsiniz.

Bir .config dosyasındaysa, IIS, uygulamasına sahip olur. Uygulamanız .config dosyasındaki değişikliği algılamalı ve yeni değeri yüklemelidir. Değilse, müşteriyi yeniden başlatmanız gerekir. Belki de Web Sitesini IIS'de durdurabilir ve başlatabilirsiniz.

Ayrıca, bir .config dosyasından okumak için kodunuzu kesinlikle YAZINIZ.

sizin .config dosyada arada
var myWS = new MyWebService(); 
    myWS.Url = WebServiceURL; 
    myWS.SomeMethod();      

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

şunlara sahip:

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

@pcampbell: Bu bana mantıklı geliyor. –

+0

İstemci uygulamasının doğru URL’yi gösterecek şekilde yapılandırmasından bahsediyorum. Sunucuda çalışan web servisi değil. IIS'yi neden sıfırlarım? – Nick

+0

Ayarı .config dosyasından toplayan bir web uygulamasının aklında senaryo vardı. –

0

Bu web config url değiştirebilir (. Webservice değişmeden kalırsa o kadar emin değil eğer değişmiş olarak Webservice)

İlgili konular