2010-09-24 48 views
6

Mặc dù một vài người đã hỏi câu hỏi này dường như có vấn đề khác với vấn đề của tôi. Giống như hầu hết trong số họ dường như có được số dòng hoặc vấn đề có thể được gây ra với ViewState.Lỗi này có nghĩa là gì? Máy chủ từ xa đã đóng kết nối. Mã lỗi là 0x80070057

Tôi đang sử dụng Asp.net 4.0 MVC 2.0 nên tôi không nghĩ mình đang sử dụng ViewState. Lỗi của tôi không cho tôi số dòng. Vì vậy, tôi không có đầu mối những gì gây ra nó hoặc nơi trong mã của tôi.

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) 

Bất kỳ ai cũng biết tại sao?

+0

Xem http://stackoverflow.com/a/22992379/ 17373 cho một ví dụ về làm thế nào để nắm bắt lỗi này và bỏ qua nó. –

Trả lời

1

Máy chủ không thể gửi câu trả lời cho khách hàng. Mất kết nối mạng trên máy khách có thể là nguyên nhân.

Không chắc chắn nếu đóng trình duyệt/tab vào đúng thời điểm cũng sẽ đưa ra lỗi.

+0

Hmm bạn có nghĩ rằng điều này đã gây ra. Có anyway tôi có thể ngăn chặn lỗi này xảy ra hoặc là nó một cái gì đó tôi chỉ cần sống với nếu đây là kịch bản thực sự là những gì bạn nghĩ rằng nó được. – chobo2

+0

Nếu đó là những gì tôi mô tả ở trên, là điều bạn phải sống. Là bản chất của mạng, một khách hàng có thể ngắt kết nối. Bạn hoặc ai đó có thể nhận được lỗi này hoặc đó là thứ bạn đã chọn từ nhật ký? – eglasius

+0

Đây là lần đầu tiên tôi gặp lỗi này. ELMAH vừa gửi cho tôi thông báo về lỗi này. – chobo2

3

Chúng tôi đã trộn "Response.Redirect" với "return View()" đã gây ra sự cố này. Trình duyệt được chuyển hướng, nhưng chúng tôi đã cố gắng để vẫn quay trở lại một cái nhìn ...

BAD MÃ

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

    return View(); 

TỐT HƠN MÃ

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

    return new RedirectResult(url); 
+1

Phản hồi.End() hoặc Flush() có thể giải quyết vấn đề này, nhưng tốt hơn là trả lại RedirectResult –

Các vấn đề liên quan