2010-09-24 64 views
6

Aunque un par de personas han hecho esta pregunta, parece que el problema es diferente al mío. Al igual que la mayoría de ellos parece obtener números de línea o el problema puede ser causado con ViewState.¿Qué significa este error? El host remoto cerró la conexión. El código de error es 0x80070057

Estoy usando Asp.net 4.0 MVC 2.0, así que no creo que esté usando ViewState en absoluto. Mi error no me da los números de línea están bien. Así que no tengo ni idea de qué lo está causando o dónde está en mi código.

System.Web.HttpException (0x80070057): The remote host closed the connection. The error code is 0x80070057. 
    at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect) 
    at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush() 
    at System.Web.HttpResponse.Flush(Boolean finalFlush) 
    at System.Web.HttpResponse.Flush() 
    at System.Web.HttpResponse.End() 
    at System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent) 
    at System.Web.HttpResponseWrapper.Redirect(String url) 
    at MySolutionFile.Domain.RequiresSSL.OnActionExecuting(ActionExecutingContext filterContext) 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) 
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) 
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) 
    at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) 
    at System.Web.Mvc.Controller.ExecuteCore() 
    at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) 
    at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) 
    at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__4() 
    at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() 
    at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) 
    at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() 
    at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) 
    at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

¿Alguien sabe por qué?

+0

Ver http://stackoverflow.com/a/22992379/ 17373 para ver un ejemplo de cómo capturar este error e ignorarlo. –

Respuesta

1

El servidor no pudo enviar la respuesta al cliente. La conexión de red perdida en el cliente podría ser una causa.

No estoy seguro de si cerrar el navegador/pestaña en el momento preciso también dará el error.

+0

Mmm, ¿crees que esto fue causado? ¿Hay alguna forma en que yo pueda evitar que ocurra este error o es algo con lo que tengo que vivir si este es el escenario que realmente es lo que crees que es? – chobo2

+0

Si fue lo que describí anteriormente, es algo con lo que tienes que vivir. Es la naturaleza de las redes, un cliente puede desconectarse. ¿Usted o alguien más puede obtener este error o fue algo que eligió de los registros? – eglasius

+0

Esta es la primera vez que veo este error. ELMAH acaba de enviarme una notificación sobre este error. – chobo2

3

Estábamos mezclando "Response.Redirect" con "return View()" que causaba este problema. El navegador se redirige, pero todavía trató de devolver una vista ...

CÓDIGO DE MALA

switch (userType) 
    { 
     case "None": 
      Response.Redirect("http://" + host + "/"); 
      break; 
     default: 
      Response.Redirect(internalwebhost + "/exit/"); 
      break; 
    } 

    return View(); 

mejor código

switch (userType) 
    { 
     case "None": 
      url = "http://" + host + "/"; 
      break; 
     default: 
      url = internalwebhost + "/exit/"; 
      break; 
    } 

    return new RedirectResult(url); 
+1

Un Response.End() o Flush() también podría resolver esto, pero es mucho mejor devolver un RedirectResult –

Cuestiones relacionadas