0

現在の sharepoint ユーザーに代わって、Sharepoint ページで Outlook ミーティングを作成することはできますか? 次のコードでボタンクリックで会議を作成しようとしています

Application oApp = new Microsoft.Office.Interop.Outlook.Application();
AppointmentItem appointment = (AppointmentItem)oApp.CreateItem(OlItemType.olAppointmentItem);
appointment.Start = DateTime.Now.AddHours(1);
appointment.End = DateTime.Now.AddHours(2);
appointment.Subject = "Some subject";
appointment.Body = "Some body";
appointment.Recipients.Add("user1@somemail.com");
appointment.Recipients.Add("user2@somemail.com");
appointment.Save();

しかし、予定を呼び出すと、このエラーが発生します.Recipients

操作が中止されました (例外 HRESULT: 0x80004004 (E_ABORT))

このコードをコンソール アプリケーションで実行すると、正常に動作します。何か案は?前もって感謝します

4

1 に答える 1

1

Office のサーバー側の自動化に関する考慮事項の記事には、次のように記載されています。

Office が不安定な動作を示したり、/または、この環境で Office を実行するとデッドロックが発生します。

サーバー側のコンテキストで実行されるソリューションを構築している場合は、無人実行に対して安全になっているコンポーネントを使用するようにしてください。または、コードの少なくとも一部をクライアント側で実行できる代替手段を探す必要があります。サーバー側のソリューションから Office アプリケーションを使用する場合、アプリケーションは正常に実行するために必要な機能の多くを欠いています。さらに、ソリューション全体の安定性に関してリスクを負うことになります。

Exchange プロファイルを扱う場合は、EWS (Exchange Web サービス) の使用を検討してください。詳細については、「 Exchange の EWS マネージ API、EWS、および Web サービス」を参照してください。

于 2015-05-16T19:36:50.897 に答える