当我尝试重定向到下一页时,我得到以下错误
备注: Even the connection is open and it is fine.
基础连接已关闭:服务器关闭了一个本应保持活动状态的连接。说明:当前web请求执行过程中发生未处理异常。请查看堆栈跟踪,以了解有关错误的更多信息以及错误在代码中的来源。
异常详细信息:System.Net.WebException
:基础连接已关闭:服务器关闭了本应保持活动状态的连接。
源错误:
在执行当前web请求期间生成了一个未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的来源和位置的信息。
堆栈跟踪
[WebException: The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.]
Effrtpartsigndone.Page_Load(Object sender, EventArgs e) +8196
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
版本信息:微软.NET框架版本:4.0.30319;
ASP.NET版本:4.0.30319.272
发布于 2012-12-27 22:24:41
这篇MSDN帖子似乎描述了类似的情况。如果它与您的问题匹配,请让我们知道:
引用:
....Net在socket的一个发送数据中发送第一个Expect 100,然后发送实际请求。服务器使用Continue 100进行响应。就在这里,.Net显示消息“底层连接已关闭。连接意外关闭”。
.Net的印象是,它无论如何都已经发送了数据,但服务器发送了Connection : Close,因此它在不重新发送(原文如此)请求的情况下显示错误。
因此,上面的解决方案对我来说是有效的
System.Net.ServicePointManager.Expect100Continue = False
如果您想查看入侵者之间的流量,可以使用Wireshark或类似工具窥探HTTP交换。
发布于 2016-05-30 22:38:18
这可能是因为客户端的超时时间大于服务器的超时时间。服务器关闭连接,而客户端仍在等待响应或发送请求。
您必须将KeepAlive属性设置为False,以便连接将自动关闭,并为每个请求重新打开。这将避免尝试使用关闭的连接的问题。
发布于 2013-12-14 08:05:04
我对此进行了配置:
ServicePointManager.DefaultConnectionLimit = 100;
一旦我删除了它,错误就消失了。
https://stackoverflow.com/questions/14052218
复制相似问题