2009-09-09 6 views
7

2.0 .NET Framework를 대상으로하는 응용 프로그램이 있습니다. 솔루션은 VS 웹 서비스 참조 폴더를 사용하고 있습니다. 해결책을 통한 grep은이 URL이 소수의 파일에 있음을 나타냅니다. 그러나 배포 된 응용 프로그램에서 검색은 URL이 .config에만 존재 함을 보여줍니다. 그래서 .disco와 .wsdl에 무슨 일이 일어 났습니까? 그들은 .exe 파일로 컴파일됩니까? 기본적으로 URL을 업데이트해야하며 새 빌드가 필요한지 알아야합니다.구성 파일에서 웹 서비스 참조 URL을 변경할 수 있습니까?

감사합니다.

+0

가능한 복제본 [런타임시 WebReference의 속성을 변경할 수 있습니까?] (http://stackoverflow.com/questions/211510/is-it-possible-to-change-the-properties-of- a-webreference-in-run-time) –

답변

4

예, 런타임에 참조되는 URL을 변경할 수 있습니다.

.config 파일에있는 경우 IIS는 입니다. 앱에서 .config 파일의 변경 사항을 감지하고 새 값을로드해야합니다. 그렇지 않으면 클라이언트를 다시 시작해야합니다. 아마도 IIS에서 웹 사이트를 중지하고 시작할 수 있습니다.

또한 코드를 .config 파일에서 읽도록 확실히 작성할 수 있습니다.

당신의 .config 파일 한편
var myWS = new MyWebService(); 
    myWS.Url = WebServiceURL; 
    myWS.SomeMethod();      

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

, 당신은 :

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

@pcampbell : 그것은 나에게 의미가있다. –

+0

나는 올바른 URL을 가리키는 클라이언트 응용 프로그램의 구성에 대해 말하고 있습니다. 서버에서 실행중인 웹 서비스가 아닙니다. 왜 내가 IIS를 재설정하겠습니까? – Nick

+0

.config 파일에서 설정을 가져 오는 웹 응용 프로그램을 염두에 두었습니다. –

0

당신은 웹 설정에서 URL을 변경할 수 있습니다. (웹 서비스가 변경되지 않은 남아있는 경우 그렇게 확신하지 않으면 변경으로 웹 서비스)

관련 문제