关于Global.asax文件不被执行的问题


  昨天在网站中添加一个网站计数器,用到了Global文件,用Application去存储计数,在Application的Start方法中首先取出表中原来的数据,在Session的Start方法中进行计数,写回到表中,对计数进行存储。其实本来很简单的一个计数,确花掉了我很长时间。因为我在本地调试的过程中一切正常,但是当发布到外网时计数却是空.通过多次测试,确定是因为文件没有被执行。原因大概有以下几点:

 

1 web应用的根目录没有被设置ASPNET和Network Services权限,经过仔细分析研究,Global.asax只有在文件夹配置了Network Services的读写权限时才能生效。(写权限必须开,可能是因为Global.asax运行了log4net,要写入日志文件。

 

2 IIS编译是按照页面编译,而要运行Global.asax需要整个网站编译。如果页面编译通过而网站编译未通过,则Global.asax里面的代码无法加载。

 

解决方法:

1 给web应用的根目录设置ASPNET和Network Services权限

 

2 如果是已发布的站点 
Global.asax 不执行 Application_Start 问题


发布的站点 根目录有PrecompiledApp.config  造成冲突  删除后可以正常运行 

PrecompiledApp.config 是预编绎网站 生成的文件 一般情况用不到


如果是未编译站点。


在vs中把asp.net Development Server 停止后在重新启动。


  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三天不学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值