2011-08-10 11 views
1

概要:アプリケーションはExchangeServiceBindingコマンドを受け入れません。ExchangeServiceBinding名前空間エラー


詳細:

私は非常に大規模なメールボックスをループしようとしていますので、私は200個のメールチャンクに受信トレイを破るために、インデックスを使用しています。 (下記参照)私は見つけることができる唯一の例では、

「ExchangeServiceBinding」型または名前空間名を返す保つ見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

どの私はそれがusing Microsoft.Exchange.WebServices;を使用しているので、私は奇妙に思えます。どんなアイデアや助けも大歓迎です。私はWindows   7とVisual Studio 2010を実行しており、Exchange 2007メールボックスにアクセスしようとしています。


物事私が試してみた:

  • がスタックに私の机の上に頭をスラミングMSDN
  • を検索 オーバーフロー
  • を検索するGoogleの
  • を検索
  • 試行錯誤

コード:

// Create binding variable to be used for GetItemsFromInbox(). 
// Set up the binding with credentials and URL. 
ExchangeServiceBinding binding = new ExchangeServiceBinding(); 
binding.Credentials = new NetworkCredential(dUser, dPassword, dDomain); 
binding.Url = new Uri("https://" + ExchangeServerName + "/EWS/Exchange.asmx"); 

// Set up the binding for Exchange impersonation. 
binding.ExchangeImpersonation = new ExchangeImpersonationType(); 
binding.ExchangeImpersonation.ConnectingSID = new ConnectingSIDType(); 
binding.ExchangeImpersonation.ConnectingSID.PrimarySmtpAddress = "mailboxnamehere”; 

// Call GetItemsFromInbox() 
int index = 0; 
bool looping = true; 

while (looping) 
{ 
    List<ItemType> items = GetItemsFromInbox(binding, index, 200, index); 
    if (items == null || items.count == 0) 
    { 
     looping = false; 
     break; 
    } 
    // Do your work here 
} 
+1

あなたのプロジェクトはewsアセンブリを参照していますか? –

+0

はい。 Microsoft.Exchange.WebServicesを使用します。 Microsoft.Exchange.WebServices.Dataを使用しています。 Using Microsoft.Exchange.WebServices.Autodiscover; – toosweetnitemare

答えて

1

私のエラーが見つかりました。この方法論はExchange 2010のみで動作します.Exchange 2007を実行しているので、私はこの作業を行うために全く異なる方法を見つけなければなりません。

ご協力いただきありがとうございます。本当にありがとうございます。

0

ExchangeServiceBindingews.dllに含まれています。エラーに応じて、このDLLファイルへの参照を追加しませんでした。 Generating Exchange Web Services Proxy Classesについて

詳細情報:

だから今は、自動生成されたプロキシを持つコードファイルを持っています。次に、Exchange Webサービスプロジェクトで使用するために、コードファイルをアセンブリにコンパイルします。 C#コンパイラは、Visual Studio 2005のコマンドプロンプトで使用できます。 EWS.dllはの名前であることを

csc /target:library /out:EWS.dll EWS.cs 

お知らせ:あなたのコードファイルEWS.csの名前と仮定すると、あなたは、アセンブリにあなたのコードをコンパイルするには、コマンドプロンプトで次のコマンドを実行することができますコンパイルされたアセンブリ。これがEWS.dllの作成方法です。

+0

私のマシンの検索はこのDLLのために空になりました。どのようなアイデアは、マイクロソフトからのewsパッケージにあるかどうか、何とかそれを生成する必要がありますか? – toosweetnitemare

+0

@toosweetnitemare説明へのリンク。 – VMAtm

+0

タイ。私はちょうど実際にこれを見ていた:)それが動作することを期待してください。 – toosweetnitemare

1

Exchange Webサービスの代わりに、Exchange Managed APIを使用します。

SDK:http://msdn.microsoft.com/en-us/library/dd633710(v=exchg.80).aspx
ダウンロード:http://www.microsoft.com/download/en/details.aspx?id=13480

それはWebサービスよりも使用する方がはるかに簡単です。

+0

あなたは簡単に使いこなすことができますか? – toosweetnitemare

+0

また、使用しているewsです。それは同じことではない? – toosweetnitemare

+0

EWS管理APIは、Exchange Webサービスをカプセル化し、素敵なオブジェクトモデルを提供します。使用する方が直感的です。 –