none
Controle WebBrowser perde a sessão no IIS RRS feed

  • Pergunta

  • Olá,

    Tenho usado um controle System.Windows.Form.WebBrowser em meu código na minha aplicação asp.net. O controle acessa um site externo, lê o retorno, preenche os campos e autentica nele. 

    Isto tem funcionado muito bem quando executo em localhost, porém quando vou colocar num servidor de hospedagem, ele não consegue passar da tela de login. Parece que quando o controle bunmete o formulário de Login a sessão se perde, e sempre retorna a tela de login.

    Alguém tem alguma solução para esse problema? 

    Segue o código principal abaixo:

      private void Init ()
             {
             
                 ieBrowser = new WebBrowser ();
                 /
                 ieBrowser.Navigate ("https://ui/ConsultaP.aspx");
                 ieBrowser.DocumentCompleted + = new WebBrowserDocumentCompletedEventHandler (IEBrowser_DocumentCompleted);
                 ieBrowser.Navigating + = new WebBrowserNavigatingEventHandler (IEBrowser_Navigating);
          
             }
      IEBrowser_Navigating void (object sender, WebBrowserNavigatingEventArgs e)
             {
                 navigationCounter + +;
             }
       IEBrowser_DocumentCompleted void (object sender, WebBrowserDocumentCompletedEventArgs e)
             {
                 var web = ((WebBrowserEx) sender);
                 HtmlDocument doc = ((WebBrowserEx) sender). Document;




                 if (doc.Title.Equals ("Login") && navigationCounter <3)
                 {
    doc.GetElementById("user").InnerText = "edjjfr";
                            doc.GetElementById("password").InnerText = "palavra";
                            doc.GetElementById("btnEnter").InvokeMember("click");
                 }
                else
                 {
    / / Do anythig
                 }




    }

    Eduardo REis

    quarta-feira, 15 de fevereiro de 2012 21:23

Respostas


  •   Olá!!

         Já tive problema semelhante, quando publicava minha aplicação ASP.NET no servidor de produção, ela não conseguia acessar um recurso remoto (webservice).

         Descobrimos que o servidor não tinha acesso a internet / o proxy barrava as tentativas do servidor acessar qualquer coisa pela internet, por isso a aplicação ASP.NET não conseguia conectar no webservice (apesar de um usuário da rede estar acessando a aplicação, a requisição de acesso ao webservice sai do servidor). Para resolver precisamos liberar o servidor para acessar a url do webservice.

        Espero ter lhe ajudado!

    Thiago Rogerio
    www.thiagorogerio.com.br
    thiagorogeriobr@hotmail.com

    • Marcado como Resposta Harley Araujo quarta-feira, 29 de fevereiro de 2012 13:13
    sábado, 25 de fevereiro de 2012 20:15