В ExchangeService я получил эту ошибку Обычно разрешено только одно использование каждого адреса сокета (протокол / сетевой адрес / порт) XX.XXX.XXX.XXX:443 - PullRequest
0 голосов
/ 26 ноября 2018

Мы используем Microsoft.Exchange.WebServices, у нас более 30 пользователей.Некоторые пользователи получают это

Only one usage of each socket address (protocol/network address/port) is normally permitted XX.XXX.XXX.XXX:443

Ошибка.когда они пытаются удалить почту.Мой код ниже, я не могу понять, что не так, пожалуйста, помогите, если вы знаете.

ExchangeService esb = new msExchange.ExchangeService(msExchange.ExchangeVersion.Exchange2007_SP1);
esb.Credentials = new NetworkCredential(username, password);
esb.Url = new Uri("URL");
int i = 0;
foreach (var item in emailId)
{
    itemIds[i] = new msExchange.ItemId(item.MsgId);
    i++;
}
ServiceResponseCollection<msExchange.ServiceResponse> deleteResponse = esb.DeleteItems(itemIds, msExchange.DeleteMode.HardDelete, msExchange.SendCancellationsMode.SendToNone, msExchange.AffectedTaskOccurrence.AllOccurrences);

Microsoft.Exchange.WebServices.Data.ServiceRequestException: запрос не выполнен.Невозможно подключиться к удаленному серверу ---> System.Net.WebException: Невозможно подключиться к удаленному серверу ---> System.Net.Sockets.SocketException: только одно использование каждого адреса сокета (протокол / сетевой адрес / порт)) обычно разрешается xx.xxx.xxx.xxx:443 в System.Net.Sockets.Socket.InternalEndConnect (IAsyncResult asyncResult) в System.Net.Sockets.Socket.EndConnect (IAsyncResult asyncResult) в System.Net.ServicePoint.ConЛогическое connectFailure, Сокет s4, Сокет s6, Сокет и сокет, IP-адрес и адрес, состояние ConnectSocketState, IAsyncResult asyncResult, Исключение и исключение) --- Конец внутренней трассировки стека исключений --- в System.Net.HttpWebRequest.GetResponse () в Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse () в Майкрософт.Exchange.WebServices.Data.ServiceRequestBase.MultiResponseServiceRequest1.Execute () в Microsoft.Exchange.WebServices.Data.ExchangeService.InternalDeleteItems (IEnumerable1 itemIds, DeleteMode, DeleteMode, Nullable1, sendCancellationsMode, пострадавшие от Nullable11itemIds, DeleteMode deleteMode, Nullable1 sendCancellationsMode, Nullable1 disabledTaskOccurferences, логическое suppressReadReceipt) в Microsoft.Exchange.WebServices.Data.ExchangeService.DeleteItems (IEnumerable1 itemIds, DeleteMode deleteMode, 1010lable_Nulged_1Noble_NacksOll_Nulged1NullocksOll_NulgedOll_NulgedOll*

1 Ответ

0 голосов
/ 27 ноября 2018

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

Как правило, разрешено только одно использование каждого адреса сокета (протокол / IP-адрес / порт).Эта ошибка возникает, если приложение пытается связать сокет с IP-адресом / портом, который уже использовался для существующего сокета, или сокетом, который не был закрыт должным образом, или тем, который все еще находится в процессе закрытия.Для серверных приложений, которым необходимо привязать несколько сокетов к одному и тому же номеру порта, рассмотрите возможность использования setsockopt (SO_REUSEADDR).Клиентским приложениям обычно вообще не нужно связывать вызовы - connect автоматически выбирает неиспользуемый порт.Когда связывание вызывается с подстановочным адресом (включая ADDR_ANY), ошибка WSAEADDRINUSE может быть отложена до фиксации определенного адреса.Это может произойти с вызовом другой функции позже, включая connect, listen, WSAConnect или WSAJoinLeaf.

Для получения дополнительной информации, пожалуйста, обратитесь по этой ссылке:

HttpClient: только одиниспользование каждого адреса сокета (протокола / сетевого адреса / порта) обычно разрешено

...