最近,我们系统中的两个用户在尝试将他们添加到角色时开始收到此错误。
System.Runtime.InteropServices.COMException:当该文件已存在时无法创建该文件。(来自 HRESULT 的异常:0x800700B7)
有趣的是,无论配置如何,都会发生相同的错误,在本地运行我们使用 XML 存储,而在测试环境中它使用 SQL Server。
这是爆炸的代码AddMemberName()
--正如您所看到的,这是非常简单的东西,并且在一段时间内运行良好,突然之间只有这两个用户
public void AddUserToRole(string roleName, string userName, bool upn)
{
string uName = userName;
if (upn)
uName = getAltUserNames(userName).First();
AzAuthorizationStore store = new AzAuthorizationStoreClass();
store.Initialize(2, _provider.StoreLocation, null);
IAzApplication app = store.OpenApplication(_provider.ApplicationName, null);
IAzRole role = app.OpenRole(roleName, null);
role.AddMemberName(uName, null);
role.Submit(0, null);
Marshal.FinalReleaseComObject(role);
}
我尝试在谷歌上搜索各种不同的术语,但找不到任何关于此的内容。我确实读过这篇文章,但这似乎不是问题。
谢谢