私の開発マシンでは、Microsoft Exchange Web Services API をダウンロードしてインストールしました。.net Web アプリケーションに Microsoft.Exchange.WebServices dll への参照を追加しました。ユーザーが他のユーザーの Outlook カレンダーに予定を設定できるページを作成しました。私はこのコードを持っています:
ExchangeService myService =new ExchangeService(ExchangeVersion.Exchange2007_SP1);
myService.Credentials = new WebCredentials("myName", "myPassword");
myService.AutodiscoverUrl("myEmailAddress@myCompany.com");
Appointment a = new Appointment(myService);
a.Subject = "Test Appointment";
a.Start = new DateTime(2012,5,15,14,45,0,DateTimeKind.Local);
a.End = new DateTime(2012,5,15,15,45,0,DateTimeKind.Local);
a.RequiredAttendees.Add(new Attendee("myEmailAddress@myCompany.com");
a.Save(SendInvitationMode.SendOnlyToAll);
これを開発マシンで実行すると、正常に機能し、予定が作成されます。
Web アプリケーションをローカル サーバーに公開して実行しようとすると、次のように表示されます。
クライアント アクセス サーバーのバージョンが、アクセスされたリソースのメールボックス サーバーのバージョンと一致しません。アクセスされているリソースのアドレスで AutoDiscover を使用して、指定されたリソースへのアクセスに使用する正しい URL を決定します。
これが何を意味するのかわかりません。
サーバーに移動し、IIS を開いてサイトを参照すると、完全に機能します。
したがって、それは私の開発ボックスで問題なく実行され、Outlook カレンダーに予定が作成されます。サーバーにアクセスし、IIS を開いて実行すると、実行されます。予定が正常に作成されます。http://mylocalServer/myTestApp/OutlookReminder.aspxを使用してブラウザーで実行すると、上記のエラー メッセージが表示されます。