赞
踩
这个错误真要了老命了,费了我四五个晚上的时间,各种尝试,才终于找到问题所在。
因为原来这个网站一直在本地运行的好好的,只是电脑坏了,重做了下系统。因此虽然看到这个错误,并不相信是web.config文件的问题。而网站下的isapi筛选器打开就报错,更坚定了我这种看法。
我的是win7系统。因此打开window程序和功能,在打开或关闭windows功能中,把iis的各个相关模块尝试安装,甚至都装上了,问题依旧。根据这个错误代码,在微软查原因,微软给出的答案是web.config格式错误导致。为了看是否是格式的问题,我特意把svn优先装上。因为这个网站是用svn做版本控制的。装上后发现,这个web.config并没有红色感叹号的出现,这说明这个web.config与原来的一样。晕也不是这里的问题。难道真是web.config的问题,这时不得不考虑是不是真的web.config有问题了。格式错误,这个是不可能的,我一行一行的看web.config 的相关代码,看能否找到问题。还真找到一个疑似的问题:
<applicationInitialization remapManagedRequestsTo="index.asp" skipManagedModules="true" doAppInitAfterRestart="true">
<add initializationPage="cash/index.aspx" />
</applicationInitialization>
这段代码我看到了,applicationInitialization 这个组件是需要单独安装的,由于重装系统,这个组件还没有安装。于是我找到ApplicationInitializationInstaller源文件安装,安装完后又设置,但是问题依旧存在。最后我把这三行代码删掉,这时不出现上面那种错误提示了,出现了如下的错误提示:
未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\3f555633\d361c0b\App_global.asax.ptbz5i3w.dll”--“拒绝访问。 ”
这一看就懂,权限问题,突然想到,因为是重装的系统,最有可能出的就是权限问题。百度了下,先看Temporary ASP.NET Files文件夹,IIS_IUSRS这个有修改权限,这没问题啊。还有哪里?查了网站根目录,然后看到网站根目录有两个未知账号,因为是重装系统只是C盘,其他盘原来的账号对不上号了。把这两个可疑账号删掉,问题依旧,重启问题依旧。各种折腾。然后查到windows/temp目录也需要IIS_IUSRS有修改权限。于是,把windows/temp目录设置了IIS_IUSRS 账号修改权限,这次不再提示权限错误了。而是提示:
另这个权限问题虽然以windows/temp目录设置了IIS_IUSRS 修改权限而解决。但是我又在我所在公司电脑上查看,IIS_IUSRS 在windows/temp 上是没有任何权限的。但是公司电脑没这个问题。也只能归结为两台电脑可能是windows环境不同,虽然都是win7 64位操作系统。
由于提示是sa登录失败,这是sqlserver问题,打开sqlserver,经过查看,是sa帐号被禁用,改为启用。刷新,仍然提示用户sa登录失败。然后在网上查找,还有一个地方的设置也可能导致此问题。就是sqlserver的服务器属性中,服务器身份验证需要是sqlserver 和windows身份验证这种混合模式。查了下我电脑的服务器属性,还真是,我的服务器身份验证方式选择的是windows身份验证。于是更改这里,更改后如下:
这提示的很清楚。于是win+R调出运行框,输入:services.msg调出window 服务界面,找到sqlserver 服务,停止,然后再启动。再次刷新网站,这次终于看到了网站的首页界面,没有错误了。
总结,由于电脑出问题后,我的键盘不能使用,是让电脑维修的人来重装的系统。他们都是使用的ghost镜像安装。而且为了安装的快速,都是使用的阉割版,因此造成了此次问题。这次是没办法,下次不会再让他们装这种系统了。真坑,各种问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。