“System.NullReferenceException”类型的异常在 App_Web_j2s3gau3.dll 中发生,但未在用户代码中进行处理的Bug解决方案
这个异常报错的原因也许在不同的项目中,也有很多种原因导致出错。在这里我针对我的项目,看了报错的提示,找了大半天。终于找到了。。唉。。虽然简单,但还是写写。
我的项目里实现了URL的重写,URL重写类里面做了一个“网站访问日志”的功能,该功能只不过是记录来网站的URL,并保存数据库中。在这里我用到了,缓存(HttpRuntime.Cache),在整个应用程序中都可以访问该值。之前的是 Microsoft .NET Framework 3.5,现在我 升到Microsoft .NET Framework 4.0 时,就报一些错误,主要的还是WebConfig没有配置好导致的。如下图所示
<system.web> 的节点下 之前的“ <identity impersonate="true"/>” 的“true”设置为“false”。就可以。
在.NetFramework3.5中都是把“<HttpModules>”的这个节点写在“<system.web>”下,主要就是指定URL重写类,相当于初始化类。3.5框架中是没有问题。当升级到4.0时,就会报错。如下图所示
当时,我把这个“<HttPModules>”去掉时,调试时,可以访问首页,但一点击其他的页面时,就“‘System.NullReferenceException’类型的异常在 App_Web_j2s3gau3.dll 中发生”。 如下图所示
出来时,让我晕啊。。找了大半天,也在网上找。没有找相关的信息。最后还是认真看了报错信息提示。在WebConfig添加了"<system.webServer>"节点。就OK了。
1 <configuration> 2 <system.webServer> 3 <modules> 4 <add name="HttpModule" type="DKBDT.Web.UI.HttpModule, DKBDT.Web.UI"/> 5 </modules> 6 </system.webServer> 7 </configuration>
在这里还要注意下:发布时,选择的“应用池”的托管管道模式为”集成“,如果为”经典“同样也会报以上的错。(运行环境win8的IIS上)