0

最近、システム内の2人のユーザーが、ロールに追加しようとしたときにこのエラーが発生し始めました。

System.Runtime.InteropServices.COMException:ファイルがすでに存在する場合、そのファイルを作成できません。(HRESULTからの例外:0x800700B7)

興味深いのは、構成に関係なく同じエラーが発生することです。ローカルで実行するとXMLストアを使用し、テスト環境ではSQLServerを使用します。

これが爆発するコードです---AddMemberName()ご覧のとおり、これは非常に単純なものであり、しばらくの間はうまく機能していましたが、突然この2人のユーザーだけになりました

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

特に、ActiveDirectoryのユーザー名と基になるOU名を確認してください。重複や不一致がないか確認してください。あるユーザーが結婚して名前が変わったという問題がありました。

于 2013-02-19T17:07:31.203 に答える