Pregunta

La excepción se lanza al primer "usando":
usando (Var OS= FirstRequest.getRequestStream ())

Mi conjetura ahora es que tiene que ver con el problema de confianza SSL iniciado por el servidor, pero si eso es cierto, lo que es lo diferente entre las 4 máquinas de Windows 7 Pro que están funcionando bien y 2 lanzando esa excepción,

Detalles de excepciones:

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: 

¿Qué podría 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;
             }

¿Fue útil?

Solución

Fue problema de certificado SSL que fue manejado mal por el servidor. Cuando se redirige a un servidor diferente, todo funciona en todos los escenarios.
También se resuelve en el lado del cliente al actualizar .NET 4 a .NET 4.5

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top