Redemption dllを使用してOutlook 2016に接続し、2人のユーザー間で電子メールを送信するコンソールプログラムがあります。Redemption DLLを使用する際に資格情報を求めるウィンドウがポップアップウィンドウ
このプログラムの目的は、交換/見通しをテストすることです。だから、プログラムでは、私たちは電子メールを送信し、会議のスケジュールを立て、....そしてループを続けて何度も何度も何度もやります。
このプログラムを実行するときに奇妙な問題が見つかりました。場合によっては、プログラムがウィンドウをポップアップし、資格情報を要求します。ユーザーの資格情報はハードコードされており、明らかに正常に動作します。スクリーンショットに示すように、プログラムは約476回実行され、477回目のループでポップアップが表示されます。ポップアップは一種のランダムなもので、必ずしも477番目のループに現れるとは限りません。いくつかのマシンでは、5番目のループでポップアップが表示されます。
Taskmgrを使用してコンソールプログラムを終了し、コンソールプログラムを再起動すると、コンソールプログラムが再起動し、この資格ウィンドウがポップアップしません。
誰でもこれを見る前に?特に償還を使用している?これを修正するには?ここ
おかげ
はいくつかのコードです。私はそれが最初の466回okですなぜ奇妙なことがあり、ポップアップが原因
RedemptionSession.LogonHostedExchangeMailbox(Mailbox, Mailbox, Password);
で起こると思いますけど?ログオンに失敗した場合でもこのポップアップを無効にすることが可能です。
internal bool Login()
{
bool result = false;
if (RedemptionSession == null)
{
if (InitializeRedemption() == false)
{
string error = "Unable to initialize Redemption";
Log.Error(error);
TestResult = new TestResult(TestStatuses.Failure, error);
return result;
}
}
... check parameters....
LoginBegin = DateTime.Now;
try
{
RedemptionSession.LogonHostedExchangeMailbox(Mailbox, Mailbox, Password);
}
catch (System.Exception ex)
{
Log.Error(ex);
TestResult = new TestResult(TestStatuses.Failure, ex.Message);
return result;
}
LoginEnd = DateTime.Now;
result = RedemptionSession.LoggedOn;
return result;
}
「ツール」には、この操作で何が起きているかを確認するための何らかのログがありましたか?ログインが失敗してエラーが発生しましたか、タイムアウトが発生しましたか?さらに、Exchangeからツールをブロックするトロイの木馬のポリシーかもしれません。 – BastianW
コードの関連するスニペットを投稿してください。 –
こんにちは、ドミトリー、コードを追加しました。コードがもっと必要な場合は、教えてください。オフラインでも電子メールでも話すことができますか? – urlreader