Inquiridor
Erro Alterar IP WCF via APP.CONFIG com programa em execução

Pergunta
-
Boa tarde!
Antes de fazer a pergunta vou mostrar como o programa funciona.
O App.config é gerado dinamicamente quando o programa é executado. O programa tem uma configuração do ip para subir os serviços.
Salvo e atualizado a sessão do App.config, como abaixo:
using (StreamWriter streamWriter = new StreamWriter(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath)) { streamWriter.Write(app); streamWriter.Flush(); streamWriter.Close(); } ConfigurationManager.RefreshSection("system.serviceModel/services"); ConfigurationManager.RefreshSection("system.serviceModel/client"); ConfigurationManager.RefreshSection("system.serviceModel/bindings"); ConfigurationManager.RefreshSection("system.serviceModel/behaviors");
O programa permite que o usuário altere o ip o programa, onde eu gero novamente o App.Config com o novo IP e subo os serviços, parando os serviços anteriores.
Vamos supor que eu subi com o IP 10.0.0.32, altero o IP para um IP que não existe no computador, por exemplo 10.0.0.60, dá uma mensagem de erro dizendo que o ip 10.0.0.60 não esta no CONTEXTO. Até ai tudo bem, pois o serviço não irá conseguir subir no IP errado.
Depois altero o IP para 10.0.0.32. Quando vou subir o serviço da o mesmo erro dizendo que o ip 10.0.0.60 não esta no CONTEXTO.
TODA VEZ QUE VOU SUBIR O SERVIÇO EU ALTERO O APP.CONFIG COMO NO CÓDIGO ACIMA.
Alguém sabe qual é o problema, pois do ip certo para o errado funciono, mas do ip errado para o certo, não funciona.
Obrigado.
Todas as Respostas
-
Boas Fabio,
Isso foi algo que nunca tentei. Antes de executar a troca, já tentou dar um shutdown no serviço, efetuar a troca, e novamente, iniciá-lo?
http://www.israelaece.com -
Bom dia!
Então, eu paro o serviço WCF, altero o APP.CONFIG da pasta da aplicação e inicio o serviço WCF novamente. Este procedimento dá erro, como informado na pergunta.
O estranho é que quando eu altero para um IP que não existe no computador, o serviço WCF não inicia, o que esta certo, mas quando faço o mesmo procedimento para um IP que existe no computador o serviço WCF dá o mesmo erro, como estivesse pegando o IP incorreto informado anteriormente.
Obrigado pela atenção.
-
Fábio,
Conseguiu solucionar essa questão?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima