我们的 ASP.NET Web 应用程序使用授权管理器。在这个Web应用程序的一个页面上,授权存储是服务器上的一个本地XML文件,被多次访问以进行访问检查。我们的一些客户System.IO.FileLoadException
在访问此页面时会得到一个。这是间歇性的。
堆栈跟踪:
System.Web.HttpUnhandledException:引发了“System.Web.HttpUnhandledException”类型的异常。---> System.IO.FileLoadException:该进程无法访问该文件,因为它正在被另一个进程使用。(来自 HRESULT 的异常:0x80070020)在 Microsoft.Interop.Security.AzRoles.AzAuthorizationStoreClass.Initialize(Int32 lFlags,String bstrPolicyURL,Object 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);
}
}
任何人都知道我该如何解决这个问题?