2014-09-24 41 views
0

我想獲得一個MVC4的WebApi使用Microsoft.Exchange.WebServices庫,但由於某種原因,它沒有連接到遠程服務器,而是它看起來像它連接到環回地址。Web API的Exchange.WebServices庫

奇怪的是,如果在控制檯應用程序中使用完全相同的代碼,

我的代碼這個簡單的塊封裝問題:

Folder exchangeFolder = null; 

ExchangeService service = new ExchangeService(); 
service.Timeout = 600000; 
service.Url = new Uri("https://HOSTNAME/exchange.asmx"); 

service.Credentials = new NetworkCredential("USERNAME", "PASSWORD", "DOMAIN"); 

FindFoldersResults findFolderResults = service.FindFolders(WellKnownFolderName.MsgFolderRoot, new FolderView(int.MaxValue)); 

foreach (Folder folder in findFolderResults) 
{ 
    if ("inbox".Equals(folder.DisplayName, StringComparison.InvariantCultureIgnoreCase)) 
    { 
     exchangeFolder = folder; 
     break; 
    } 
} 

int inboxItemCount = exchangeFolder.TotalCount; 

最裏面的異常給了我以下細節:

{"No connection could be made because the target machine actively refused it 127.0.0.1:6699"} 
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) 

代碼失敗,並在這兩個相同的異常,ASP。 NET應用程序和MVC4 WebApi應用程序,但適用於控制檯應用程序。

這些類型的應用程序可能使用Microsoft.Exchange.WebServices庫嗎? 如果是這樣,還需要配置什麼才能使其工作?

+0

是您在同一臺計算機的控制檯應用程序在IIS上部署? – joym8 2014-09-24 23:49:10

+0

這是正確的,同一臺機器。 – Diomedes 2014-09-24 23:52:39

+0

您可以轉到VS中的項目屬性,單擊左側的Web,然後在Servers下查看 - 端口號是什麼? – joym8 2014-09-25 00:01:21

回答

0

您需要使用Microsoft.Exchange.WebServices.Data進行引用;

它可以通過NuGet包安裝的Microsoft Exchange webserivices

確保DLL與您的代碼到主機服務器