2012-04-24 18:57:29|?次阅读|上传:wustguangh【已有?条评论】发表评论
今天发现个奇怪的问题,在本地调试得好好的程序,放到服务器上global.asax中的代码不起作用。在网上搜索之后发现还有很多朋友遇到类似的问题,也给出了不少的解决方案,现将找到的方案罗列在下面,或许可以解决你的问题,如果还有其它的办法,欢迎在留言区域讨论。
1、发布的站点
发布的站点 根目录有PrecompiledApp.config 造成冲突 删除后可以正常运行 ,这个方法对我有效。
PrecompiledApp.config 是预编绎网站 生成的文件 一般情况用不到
2、 未编译站点。
在vs中把asp.net Development Server 停止后在重新启动。
3、其它的回答
不少人用Global.asax做网站计数器,我也是,但自从上次调试URL重写和Session冲突的问题之后(参见这篇文章),突然发现计数器不动了。研究一番发现,是web.config中的设置导致Session_Start不执行。
原先是这样写的:
<remove name="Session" /> <add name="HtmlSession" type="System.Web.SessionState.SessionStateModule"/>
其实只要把HtmlSession改成Session就可以修复这个问题:
<remove name="Session" /> <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
这样既可以解决URL重写和Session冲突的问题,又不会引起Global.asax中Session_Start不执行。