3

我们的 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);
    }
}

任何人都知道我该如何解决这个问题?

4

1 回答 1

0

这意味着该文件(可能是您为 AzMan 拥有的 XML 文件)在另一个应用程序中打开。确保 azman.mmc 没有运行并打开此商店以进行编辑/审查等。

于 2013-07-24T01:23:56.880 回答