我們的ASP.NET Web應用程序使用授權管理器。在此Web應用程序的一個頁面上,多次訪問服務器上本地XML文件的授權存儲以執行訪問檢查。我們的一些客戶在訪問此頁面時獲得System.IO.FileLoadException
。這是間歇性的。Microsoft.Interop.Security.AzRoles.AzAuthorizationStoreClass.Initialize失敗,並顯示System.IO.FileLoadException
堆棧跟蹤:
System.Web.HttpUnhandledException:類型 'System.Web.HttpUnhandledException' 的異常被拋出。 ---> System.IO.FileLoadException:進程無法訪問文件 ,因爲它正在被另一個進程使用。(異常來自 HRESULT:0x80070020)在 Microsoft.Interop.Security.AzRoles.AzAuthorizationStoreClass.Initialize(的Int32 LFLAGS,字符串bstrPolicyURL,對象varReserved)
方法顯示器示出了共享衝突。我已經尋找解決方案,但找不到一個解決方案。客戶端在Windows Server 2003 SP2上。因此,此修補程序http://support.microsoft.com/kb/919754似乎不適用,因爲它是Windows Server 2003 SP2的一部分。
訪問授權存儲的代碼是這樣的:
private IAzApplication2 AzmanApplication
{
get
{
AzAuthorizationStoreClass store = new AzAuthorizationStoreClass();
store.Initialize(0, _connectionString, null);
return store.OpenApplication2(_applicationName, null);
}
}
任何人有任何想法我怎麼能解決這個問題?