Pergunta

A exceção é lançada no primeiro "usando":
Usando (var OS = FirstreCest.getRequestStream ())

meu palpite agora é que isso tem a ver com o problema de confiança SSL iniciado pelo servidor, mas se isso for verdade, qual é a diferença entre as 4 máquinas Windows 7 Pro, das quais 2 estão funcionando bem e 2 lançando essa exceção,

Detalhes da exceção:

System.Net.WebException was unhandled
  Message=The operation has timed out
  Source=System
  StackTrace:
       at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
       at System.Net.HttpWebRequest.GetRequestStream()
       at MyCheckAPI.MyCheckLogic2.HttpPost4(String URI, String URI2, String Parameters1, String Parameters2) in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\MyCheckLogic2.cs:line 309
       at MyCheckAPI.MyCheckLogic2.MobileGetCode2(String email, String pass) in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\MyCheckLogic2.cs:line 444
       at RichTB.Integration.button5_Click(Object sender, EventArgs e) in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\Form1.cs:line 348
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at RichTB.Program.Main() in C:\Users\Ha-Erez\Desktop\RichTB\RichTB\Program.cs:line 18
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 

O que poderia ser ?

public static string HttpPost4(string URI, string URI2, string Parameters1, string Parameters2)  
{
       string respStr = String.Empty;
       CookieContainer cookieJar = new CookieContainer();
       HttpWebRequest firstRequest = (HttpWebRequest)WebRequest.Create(URI);
       try
       {
            firstRequest.CookieContainer = cookieJar;
            firstRequest.KeepAlive = true;
            firstRequest.ContentType = "application/x-www-form-urlencoded";
            firstRequest.Method = "POST";
            firstRequest.KeepAlive = false;
            firstRequest.Timeout = 5000;
            firstRequest.Proxy = null;
            firstRequest.ServicePoint.ConnectionLeaseTimeout = 5000;
            firstRequest.ServicePoint.MaxIdleTime = 5000;

             byte[] bytes = System.Text.Encoding.UTF8.GetBytes(Parameters1);
             firstRequest.ContentLength = bytes.Length;
             using (var os = firstRequest.GetRequestStream())
             {     
                 os.Write(bytes, 0, bytes.Length);
                os.Close();
             }

             using (HttpWebResponse firstResponse = (HttpWebResponse)firstRequest.GetResponse())
                     {
                         using (var sr = new StreamReader(firstResponse.GetResponseStream()))
                         {

                             respStr = sr.ReadToEnd().Trim();
                             Logger(DateTime.Now + " Login Response: " + respStr, 1);

                             sr.Close();
                         }
                         firstResponse.Close();
                     }

                     //  cookieJar.Add(firstResponse.Cookies);

                     HttpWebRequest secondRequest = (HttpWebRequest)WebRequest.Create(URI2);
                     secondRequest.Method = "POST";
                     secondRequest.ContentType = "application/x-www-form-urlencoded";
                     // secondRequest.KeepAlive = true;

                     secondRequest.KeepAlive = false;
                     secondRequest.Timeout = 5000;

                     secondRequest.ServicePoint.ConnectionLeaseTimeout = 5000;
                     secondRequest.ServicePoint.MaxIdleTime = 5000;

                     // secondRequest.Headers["Set-Cookie"] = firstResponse.Headers["Set-Cookie"];
                     secondRequest.CookieContainer = cookieJar;
                     byte[] bytes2 = System.Text.Encoding.UTF8.GetBytes(Parameters2);
                     secondRequest.ContentLength = bytes2.Length;
                     //   httpWebRequest.
                     using (var os2 = secondRequest.GetRequestStream())
                     {
                         os2.Write(bytes2, 0, bytes2.Length);
                         os2.Close();
                     }
                     using (WebResponse secondResponse = secondRequest.GetResponse())
                     {
                         using (var sr = new StreamReader(secondResponse.GetResponseStream()))
                         {

                             respStr = sr.ReadToEnd().Trim();
                             sr.Close();
                         }
                     }

                     return respStr;
                 }
                 catch (Exception ee)
                 {
                     Logger(DateTime.Now + " , "+ ee.Message +" , "+ ee.StackTrace, 1);
                 }
                 finally
                 {
                     firstRequest.Abort();
                 }
                return respStr;
             }
Foi útil?

Solução

Era Problema de certificado SSL que foi mal tratado pelo servidor.quando redirecionado para um servidor diferente, tudo funciona em todos os cenários.
também resolvido no lado do cliente atualizando .net 4 para .net 4.5

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top