2011-10-21 60 views
4

我有使用Exchange Web服務發送電子郵件的代碼(EWS 1.1 API)。有沒有例外,如果我使用硬編碼參數值,比如:無法找到自動發現服務

service.AutodiscoverUrl("[email protected]", 
    delegate 
    { 
    return true; 
    }); 

,但如果我嘗試使用一個變量,然後同時發現URL我收到錯誤,「自動發現服務找不到」。

string userName = "[email protected]"; 
service.AutodiscoverUrl(userName, 
    delegate 
    { 
    return true; 
    }); 

是否有任何方式使用變量與autodiscoverurl方法?我究竟做錯了什麼?

Sanjay

回答

7

這不太可能導致問題。通常,如果自動發現失敗,這是因爲證書無效或網絡連接問題。

在ExchangeService實例(MSDN article)上啓用跟蹤以查看發生了什麼。

+0

愚蠢的錯誤.... –

+0

我啓用了跟蹤,服務器交換服務器,我配置了自己(用於測試),所以我假設我已經錯過了某些內容 - 但不知道從「自動發現服務找不到」的位置,在啓用跟蹤時沒有更多細節。 –

+0

我有同樣的情況,當我傳遞字符串變量時,我得到:自動發現服務無法找到...我需要對其進行硬編碼並且工作完美,沒有人找到解決此問題的任何解決方案。 EWS 2.0 – dovla091

0

我意識到這篇文章已經過了幾年了,但爲了文檔的緣故,我提供了一個額外的解決方案。

此行爲另一個可能的原因是在客戶端試圖強制TLS 1.2連接時,EWS服務器僅支持TLS 1.0。我正要投降調查這種行爲 - 一個EWS應用程序在一個盒子上工作,同一個應用程序在另一個盒子上(失去同一個郵箱)失敗 - 問題是一臺機器可以協商TLS 1.0,另一個只能做TLS 1.2,失敗。在註冊表中啓用客戶端TLS 1.0出站連接(HKLM\System\CCS\Services\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client,DWORD值'Enabled'設置爲0x1修復了這個問題,不需要重新啓動