最近、システム内の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);
}
いろいろな用語をググってみましたが、なかなか見つかりませんでした。私はこの投稿を読みましたが、それは問題ではないようです。
ありがとう