0

最近,我们系统中的两个用户在尝试将他们添加到角色时开始收到此错误。

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);
}

我尝试在谷歌上搜索各种不同的术语,但找不到任何关于此的内容。我确实读过这篇文章,但这似乎不是问题。

谢谢

4

1 回答 1

1

尤其要检查 Active Directory 用户名和基础 OU 名称。检查重复和不匹配。我曾经遇到一个问题,用户结婚并且她的名字改变了。

于 2013-02-19T17:07:31.203 回答