如何修复System.Net.Sockets.SocketException

The*_*max 5 asp.net-mvc windows-server-2008

我正在开发一个ASP.NET MVC网站,它已安装在三个不同的服务器上(相同的代码版本),它可以在两个服务器上运行,即用户可以登录,但是在用户提交了用户名和密码,浏览器中显示以下服务器错误:

Security Exception

System.Security.SecurityException: Token not found
Run Code Online (Sandbox Code Playgroud)

发生错误的环境的事件查看器在用户尝试登录时显示以下两条错误消息:

Could not init pool.
System.Net.Sockets.SocketException (0x80004005): 
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because 
connected host has failed to respond (server ip address)
Run Code Online (Sandbox Code Playgroud)

而这个错误:

Error: System.Security.SecurityException: Token not found
Run Code Online (Sandbox Code Playgroud)

这是浏览器中显示的服务器错误.过去通过删除身份验证cookie解决了这个问题,但这不适用于此错误.

我已经尝试将web.config中的信任级别设置为full,但这不起作用.我试过重启IIS.

有没有其他人遇到类似的问题?可能是因为某种服务没有运行而导致此问题?任何建议将不胜感激.

小智 5

大多数情况下,由于尝试通信的两台服务器/计算机之间的IP协议(IPV4/IPV6)不同,或者在其中一台计算机上设置额外的身份验证规则以进行传出或传入连接,这些都是连接超时.解决问题的方法:

  1. 查看IIS日志
  2. 查看EventLogs
  3. 尝试调整注册表中的TCP/IP参数以增加连接所允许的时间

http://msdn.microsoft.com/en-us/library/aa560610(d=printer,v=bts.20).aspx

尽管上面的文章引用了Windows 2003,但我发现它适用于某些2008环境.