誰かが、以下のコードでSTAスレッドを使用しているときにイベント "OnNewMail"が生成されない理由を説明できますか?プログラムはRedemptionライブラリを使用して着信Outlookメールを傍受しようとします。トレッドは、STAスレッドであり、あなたはライブラリが同時に何もできない入力を待ち、電子メールが到着したときにイベントを発生する機会を持っていないSTAスレッドの実行中にこのCOM相互運用イベントが発生しないのはなぜですか?
class Program
{
[STAThread()] // When this line is deleted the application works
static void Main(string[] args)
{
RDOSession session = GetSession();
session.OnNewMail += Session_OnNewMail;
Console.ReadLine();
}
static void Session_OnNewMail(string EntryID)
{
Console.WriteLine("New mail received");
}
private static RDOSession GetSession()
{
var session = new RDOSession();
var application = new ApplicationClass();
session.MAPIOBJECT = application.Session.MAPIOBJECT;
return session;
}
}