none
Aplicação Web no IIS RRS feed

  • Pergunta

  • Pessoal,
    Tenho uma aplicação ASP.NET , sendo executada no IIS. Essa aplicação tem a funcionalidade de extrair informações de serviços de outros sistemas.
    Porém só consigo executar de minha estação de trabalho, pois não utiliza IIS.
    Quando coloco no servidor e publico no IIS, não consigo acessar o Web Service de consumi informações de outro sistema.  Aparece o erro abaixo:
    Erro : Unable to connect to the remote server
     
    Hoje na empresa em que trabalho utilizou conexão via Proxy que passa exceção para Firewall.
    Acho que o IIS não consegue acessar o Proxy e chama o Firewall.
    Por favor, o que preciso fazer pra essa aplicação funcionar?

    quinta-feira, 19 de dezembro de 2013 18:26

Respostas

  • Olá.

    Eu utilizo proxy na rede interna de minha empresa também.

    Eu coloquei algumas variaveis no web.config, dentro da tab app settings que definem:

      <appSettings>
        <add key="SERVER_PROXY" value="nomeouIp"/>
        <add key="PORTA_PROXY" value="8080"/>
        <add key="LOGIN_PROXY" value="xxxxxxxxxxxxx"/> 
        <add key="SENHA_PROXY" value="cccccccccccc"/>
    <add key="UTILIZA_PROXY" value="True"/>
      </appSettings>

    No codigo fonte eu verifico a variavel do app-settings e se estiver true, eu seto o proxy o instanciar o web.service.

     private void ConfiguraProxy(ref MapaCarga wsMapa)
    {
    	if (bool.Parse(System.Configuration.ConfigurationManager.AppSettings["UTILIZA_PROXY"]))
    	{
    		string servidorProxy = System.Configuration.ConfigurationManager.AppSettings["SERVER_PROXY"];
    		string portaProxy = System.Configuration.ConfigurationManager.AppSettings["PORTA_PROXY"];
    		string loginProxy = System.Configuration.ConfigurationManager.AppSettings["LOGIN_PROXY"];
    		string senhaProxy = System.Configuration.ConfigurationManager.AppSettings["SENHA_PROXY"];
    
    		System.Net.WebProxy webProxy = new System.Net.WebProxy(servidorProxy + ":" + portaProxy, true);
    		// Configurando autenticação
    		if (loginProxy != string.Empty)
    		{
    			System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(loginProxy, senhaProxy);
    			webProxy.Credentials = credentials;
    		}
    		wsMapa.Proxy = webProxy;
    	}
    }
    

    Espero que te ajude.

    • Marcado como Resposta Giovani Cr quarta-feira, 25 de dezembro de 2013 12:31
    sexta-feira, 20 de dezembro de 2013 12:36
  • Pegue com o administrador o endereço do proxy e a PORTA

    Com o endereço do proxy em mãos configure no webconfig da sua aplicação a seguinte chave

    No codigo abaixo :8080 é a porta do proxy

      <system.net>
        <defaultProxy useDefaultCredentials="true">
          <proxy usesystemdefault="True" proxyaddress="http://URLdoproxy:8080"  bypassonlocal="True"/>
        </defaultProxy>
      </system.net>


    • Editado ti4fun.com segunda-feira, 23 de dezembro de 2013 13:58
    • Marcado como Resposta Giovani Cr quarta-feira, 25 de dezembro de 2013 12:31
    segunda-feira, 23 de dezembro de 2013 13:57

Todas as Respostas

  • Olá.

    Eu utilizo proxy na rede interna de minha empresa também.

    Eu coloquei algumas variaveis no web.config, dentro da tab app settings que definem:

      <appSettings>
        <add key="SERVER_PROXY" value="nomeouIp"/>
        <add key="PORTA_PROXY" value="8080"/>
        <add key="LOGIN_PROXY" value="xxxxxxxxxxxxx"/> 
        <add key="SENHA_PROXY" value="cccccccccccc"/>
    <add key="UTILIZA_PROXY" value="True"/>
      </appSettings>

    No codigo fonte eu verifico a variavel do app-settings e se estiver true, eu seto o proxy o instanciar o web.service.

     private void ConfiguraProxy(ref MapaCarga wsMapa)
    {
    	if (bool.Parse(System.Configuration.ConfigurationManager.AppSettings["UTILIZA_PROXY"]))
    	{
    		string servidorProxy = System.Configuration.ConfigurationManager.AppSettings["SERVER_PROXY"];
    		string portaProxy = System.Configuration.ConfigurationManager.AppSettings["PORTA_PROXY"];
    		string loginProxy = System.Configuration.ConfigurationManager.AppSettings["LOGIN_PROXY"];
    		string senhaProxy = System.Configuration.ConfigurationManager.AppSettings["SENHA_PROXY"];
    
    		System.Net.WebProxy webProxy = new System.Net.WebProxy(servidorProxy + ":" + portaProxy, true);
    		// Configurando autenticação
    		if (loginProxy != string.Empty)
    		{
    			System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(loginProxy, senhaProxy);
    			webProxy.Credentials = credentials;
    		}
    		wsMapa.Proxy = webProxy;
    	}
    }
    

    Espero que te ajude.

    • Marcado como Resposta Giovani Cr quarta-feira, 25 de dezembro de 2013 12:31
    sexta-feira, 20 de dezembro de 2013 12:36
  • Pegue com o administrador o endereço do proxy e a PORTA

    Com o endereço do proxy em mãos configure no webconfig da sua aplicação a seguinte chave

    No codigo abaixo :8080 é a porta do proxy

      <system.net>
        <defaultProxy useDefaultCredentials="true">
          <proxy usesystemdefault="True" proxyaddress="http://URLdoproxy:8080"  bypassonlocal="True"/>
        </defaultProxy>
      </system.net>


    • Editado ti4fun.com segunda-feira, 23 de dezembro de 2013 13:58
    • Marcado como Resposta Giovani Cr quarta-feira, 25 de dezembro de 2013 12:31
    segunda-feira, 23 de dezembro de 2013 13:57