最近总是遇到"配置错误,**拒绝访问",如下:
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息: 访问被拒绝:“Office”。
源错误:
行 196:<add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 197:<add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 198:<add assembly="*"/>
行 199:</assemblies>
行 200:</compilation>
源文件: c:/windows/microsoft.net/framework/v1.1.4322/Config/machine.config 行: 198
程序集加载跟踪: 下列信息有助于确定程序集“Office”无法加载的原因。
=== Pre-bind state information ===
LOG: DisplayName = Office
(Partial)
LOG: Appbase = file:///D:/111/lcbs
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: Office
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/basemonitor/7bb915f6/26d1c66a/Office.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/basemonitor/7bb915f6/26d1c66a/Office/Office.DLL.
LOG: Attempting download of new URL file:///D:/111/lcbs/bin/Office.DLL.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: Office, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null
遇到这样的问题时我还以为是编译器有问题,拷贝的dll文件有错,我就把那个拒绝访问的dll删掉,然后重新生成解决方案;有的时候甚至重启vs.net和IIS,仍然没有奏效的话我就要重启机器。
今天上网查了一下,发现很多人也遇到了这样的问题,他们提供了很多解决方案,其中我认为最能解决我遇到的问题的方案就是“索引”服务导致的。
索引服务(Indexing Service),支持对文件进行远程快速访问的索引服务,当某个目录的文件频繁改动时,他会将这些文件锁定,所以就出现了访问被拒绝的现象。只要将该服务停止就一切OK乐,。
其他的解决方案:
1.将asp.net的临时文件路径添加到索引服务,并将“包含索引”设成否。操作步骤如下:
1.1、开始 -- 管理工具 -- 计算机管理(Win2003的位置,其他操作系统类似)打开计算机管理
1.2、展开计算机管理左边树中“服务和应用程序”节点,再在其下展开“索引服务”节点,再在其下展开
“ System”节点,再在其下展开“目录”节点。
1.3、在计算机管理的右边我们可以看到配置的索引服务目录。
1.4、在“目录”节点上右击鼠标,选择“新建”--“目录”
1.5、在“添加目录”对话框中,路经输入框中输入 ASP.net 的临时文件目录。默认应该是:
c:/<WINDIR>/Microsoft.NET/Framework/<Version Number>/Temporary ASP.NET Files 目录。
<Version Number> 指你要处理的.net版本。
1.6、在“包含在索引中吗?”选项中,选择“否”
1.7、单击“确定”按钮
1.8、在“索引服务”节点上右键单击,重起索引服务即可。
2.删除拒绝访问的那个文件的.pdb文件