2014-09-24 3 views
0

Я пытаюсь получить MVC4 WebApi для использования библиотеки Microsoft.Exchange.WebServices, но по какой-то причине он не подключается к удаленному серверу, вместо этого он выглядит так, как будто он подключается к обратному адресу ,Web API Exchange.WebServices Library

Странно, что тот же самый код работает, если он используется в консольном приложении.

Я инкапсулированные проблему в этом простом блоке кода:

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

+0

Правильно, такой же машина. – Diomedes

+0

Можете ли вы перейти к свойствам проекта в VS, щелкнуть по Web на левой стороне и проверить под серверами - какой номер порта? – joym8

ответ

0

Вам нужна ссылка с использованием Microsoft.Exchange.WebServices.Data;

он может быть установлен с помощью пакета NuGet обмена Microsoft webserivices

убедитесь, что длл развертывает с кодом на хост-сервер