我们的ASP.NET Web应用程序使用授权管理器。在此Web应用程序的页面上,多次访问作为服务器上的本地XML文件的授权存储以执行访问检查。我们的一些客户在访问此页面时获得了System.IO.FileLoadException
。这是间歇性的。
堆栈追踪:
System.Web.HttpUnhandledException:类型异常 抛出'System.Web.HttpUnhandledException'。 ---> System.IO.FileLoadException:进程无法访问该文件 因为它正被另一个进程使用。(例外情况 HRESULT:0x80070020)at 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);
}
}
任何人都有任何想法如何解决这个问题?
答案 0 :(得分:0)
这意味着该文件(可能是您为AzMan提供的XML文件)在另一个应用程序中打开。 确保azman.mmc没有运行,打开此商店进行编辑/审核等。