阅读:810
发表时间:2017/7/24 19:04:41
昨天在网站中添加一个网站计数器,用到了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 停止后在重新启动。
致胜软件
因为通用软件的局限性而改变企业经营方式?
那这是反人类的!!!
致胜软件根据需求定制,永远为您而变!
致胜网络的理念
面对面给客户最实在的 最贴心的服务!
强大的技术团队,过百的案例与经验!
在三线城市开发,按三线城市等级收费!
致胜网络介绍
2009年成立,至今7年。!
7年的专业,7年之痒!
期待可以为您提供长期服务!
想进一步了解
欢迎您的咨询?
QQ:1990654
微信:13592986386
电话:13592986386