问题描述:
编写asp.net程序,当编译调试比较频繁的时候,很容易经常地出现访问被拒绝。形如:
分析器错误信息: 访问被拒绝:“Microsoft.Web.UI.WebControls”。
源错误:
行 197: <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 198: <add assembly="*"/>
.....
源文件: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config 行: 198
源错误:
行 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
原因:
由于改动频繁, c:\windows\microsoft.net\framework\v1.1.4322\Temporary ASP.NET Files\ 目录下相应的目录或文件被Index Server锁定,重建索引。所以一般几分钟后会释放,恢复正常。(没弄明白之前,害我重起站点,重起IIS,关闭vs.net,好不忙乎,而且似乎也有用,(现在知道是把时间给赚足了-_-''),但就是治标不治本。现在终于明白了,一下子整个世界都清静了。哈哈)
解决方案:
方法一:如果不用Index Server关了它。(服务里关闭,最好禁用,那以后都清静了。)
1.进入 控制面板-〉管理工具-〉服务,找到Indexing Service并点击右键将其停止.
或者:
2.可以在MS-DOS下输入 Net stop cisvc 命令禁止! 【我没尝试】
方法二:配置Index Server不对该目录进行索引。
2.1、开始 -- 管理工具 -- 计算机管理(Win2003的位置,其他操作系统类似)打开计算机管理
2.2、展开计算机管理左边树中“服务和应用程序”节点,再在其下展开“索引服务”节点,再在其下展开“System”节点,再在其下展开“目录”节点。
2.3、在计算机管理的右边我们可以看到配置的索引服务目录。
2.4、在“目录”节点上右击鼠标,选择“新建”--“目录”
2.5、在“添加目录”对话框中,路经输入框中输入 ASP.net 的临时文件目录。默认应该是:
c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files 目录。
<Version Number> 指你要处理的.net版本。
2.6、在“包含在索引中吗?”选项中,选择“否”
2.7、单击“确定”按钮
2.8、在“索引服务”节点上右键单击,重起索引服务即可。
方法三: 可以删除 bin\XX.pdb