Posso alterar a URL referência de serviço web no arquivo de configuração?
-
05-07-2019 - |
Pergunta
Tenho uma aplicação visando o Framework 2.0 .NET. A solução é usar a pasta referência de serviço web VS. A grep através da solução revela que esta URL vive em um punhado de arquivos. No entanto, no aplicativo implantado uma busca mostra que a URL vive em apenas o .config. Então, o que aconteceu com o .disco e .WSDL? eles são compilados no .exe? Basicamente, eu preciso atualizar o URL e eu preciso saber se isso requer uma nova compilação.
Obrigado!
Solução
Sim, você pode mudar a URL que está sendo referenciado em tempo de execução.
Se for em um arquivo .config, irá IIS seu aplicativo deve detectar a alteração no arquivo .config e carregar o novo valor. Se não, então você teria que reiniciar o cliente. Talvez você pode parar e iniciar o Web site no IIS.
Além disso, você pode definitivamente escrever o seu código para ler um arquivo config.
var myWS = new MyWebService();
myWS.Url = WebServiceURL;
myWS.SomeMethod();
private static string WebServiceURL {
get { return ConfigurationManager.AppSettings["MyWebServiceURL"].ToString(); } }
Enquanto isso no seu arquivo .config
, você tem:
<appSettings>
<add key="MyWebServiceURL" value="http://blah/foo/bar.asmx" />
</appSettings>
Outras dicas
Você pode alterar a url no config web (se o webservice permanece inalterado. Não tão certo se o webservice como alterado)