三层登陆问题——未处理AccessViolationException,试图读取或写入受保护的内存。这是通常指示其他内存已损坏。

这些天一直在与三层登陆问题斗争,最后到了运行的时候,突然一个错误让我措手不及……

     三层登陆问题——未处理AccessViolationException,试图读取或写入受保护的内存。这是通常指示其他内存已损坏。_第1张图片

一开始以为是数据库连接的问题,后来调试,无果。然后开始了每一层代码的排查,无果。

怎么办,上网查吧!

查了很多的资料,众多资料显示是.NET Framework的驱动程序的问题。

Microsoft给的解释如下(具体网址)

三层登陆问题——未处理AccessViolationException,试图读取或写入受保护的内存。这是通常指示其他内存已损坏。_第2张图片

这跟我的问题实在是太太一致了,那么怎么解决呢?

当然是修补程序了。然后我就在MSDN代码库中下载这个修补程序,不过下载了它里面所有的版本,仍然无果……

崩溃之后,又发现了一个解决方法。感谢这个帖子,让我终于解决了这个问题!

这次的方法可是比下载补丁要简单多了,直接在dos窗口下运行“netsh winsock reset”,然后重启即可。

真是坑死人了,怎么没有早早发现这篇博客呢?汗……

效果图如下:

三层登陆问题——未处理AccessViolationException,试图读取或写入受保护的内存。这是通常指示其他内存已损坏。_第3张图片

解决问题之后,感觉这个命令似曾相识……


曾经,有个Ip上不去网,我们的iNode客户端提示“无法连接到安全检查代理服务器,套接字创建失败”,就是运行了“netsh winsock reset catalog”,然后修复客户端,解决问题的。


下面,就让我们来认识一下这个命令吧!

(来自百度百科的更加权威的解释)

netsh winsock reset命令,作用是重置Winsock目录(windows下广泛应用的、开放的、支持多种协议的网络编程接口)。Winsock配置有问题时,我们可以通过此命令来初始化网络环境,以此来解决软件、病毒等问题。

netsh是Windows系统提供的功能强大的网络配置命令行工具,可以设置IP,DNS,无线网络等。reset是对Winsock的重置操作。


终于发现,生活中其实存在着很多惊喜呀!



你可能感兴趣的:(三层登陆问题——未处理AccessViolationException,试图读取或写入受保护的内存。这是通常指示其他内存已损坏。)