在調試ASP.net程序的時候,某某組件訪問被拒絕。這時候重起IIS,電腦注銷或者對ASP.NET 應用程序重新配置腳本映射(aspnet_regiis.exe -i)都不起作用。
出錯信息:
說明: 在處理向該請求提供服務所需的配置文件時出錯。請檢查下面的特定錯誤詳細信息并適當地修改配置文件。
分析器錯誤信息: 訪問被拒絕:“Kind.DataAccess”。
源錯誤:
行 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:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config
行: 198
程序集加載跟蹤: 下列信息有助于確定程序集“Kind.DataAccess”無法加載的原因。
=== Pre-bind state information ===
LOG: DisplayName = Kind.DataAccess
(Partial)
LOG: Appbase = file:///D:/jmw.net/web
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: Kind.DataAccess
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/jmw.net/ebbe807a/6992844c/Kind.DataAccess.DLL.
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/jmw.net/ebbe807a/6992844c/Kind.DataAccess/Kind.DataAccess.DLL.
LOG: Attempting download of new URL file:///D:/jmw.net/web/bin/Kind.DataAccess.DLL.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: Kind.DataAccess, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null
|
搜索Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
得知:
最常見的原因是Indexing service服務引起的。解決方法就是停用Indexing service,或配置ASP.net 的臨時目錄不受Indexing service服務的影響。
配置ASP.net 的臨時目錄不受Indexing service服務的影響的步驟如下:
1、開始 -- 管理工具 -- 計算機管理(Win2003的位置,其他操作系統類似)打開計算機管理
2、展開計算機管理左邊樹中“服務和應用程序”節點,再在其下展開“索引服務”節點,再在其下展開“System”節點,再在其下展開“目錄”節點。
3、在計算機管理的右邊我們可以看到配置的索引服務目錄。
4、在“目錄”節點上右擊鼠標,選擇“新建”--“目錄”
5、在“添加目錄”對話框中,路經輸入框中輸入 ASP.net 的臨時文件目錄。默認應該是:
c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files 目錄。
<Version Number> 指你要處理的.net版本。
6、在“包含在索引中嗎?”選項中,選擇“否”
7、單擊“確定”按鈕
8、在“索引服務”節點上右鍵單擊,重啟索引服務即可。