基础连接已经关闭,接受时发生错误

今天程序报错:基础连接已经关闭,接受时发生错误
解决问题步骤如下:
1、先跟踪程序
调用webservices,处理数据的时候依然报此错误。
2、在ie上访问发布的webservices,无法访问,并报找不到服务器或 DNS 错误
3、登录服务器发现iis上的应用程序都访问不了
4、最好的办法查看错误日志,日志在C:\WINDOWS\system32\LogFiles\HTTPERR目录下
错误报警的时间和不能访问程序的时间是一致的。
2012-03-12 06:11:57 - - - - - - - - - 2_Connections_Refused -
5、查看微软的帮助(http://support.microsoft.com/kb/820729/)
Connections_Refused    内核 NonPagedPool 内存已下降到 20MB 以下,http.sys 已停止接收新连接。
6、根据问题修复提示和资料查询我们需要做一下工作:
单击 开始 ,单击 运行 ,在 打开 的框中键入 regedit    //进入注册表
单击下面的注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
在 编辑 菜单上指向 新建 ,然后单击 DWORD 值 ,键入 EnableAggressiveMemoryUsage
修改此键值为1,然后退出注册表编辑器
重新启动http服务,在命令行中输入net stop http,会提示y/n,输入Y继续
重启IIS输入命令:iisreset /restart

7、再回到iis下访问webservices,成功!


由于过了两天又不发生了类似错误,而且这种方法解决不了,把解决方法补充如下:

在“运行”对话框中输入“regsvr32 actxprxy.dll”命令,单击“确定”按钮,这时会弹出一个信息对话框,提示“actxprxy.dll中的DllRegisterServer成功”

然后再在“运行”对话框中输入“regsvr32 shdocvw.dll”命令,单击“确定”按钮 

当然以上两个命令是修复浏览器的。
修复TCP/IP网络连接,输入“netsh int ip reset”命令后会回车即可。
ipconfig /flushdns来重建本地DNS缓存, 当出现“successfully flushed the dns resolver cache”(已成功刷新 DNS 解析缓存)的提示时就说明当前计算机的缓存信息已经被成功清除,重新启动计算机后IE与网络连接被修复,查看是否生效。

这样就解决问题。

你可能感兴趣的:(C#.NET)