【问题标题】:EWS. The request failed. The remote server returned an error: (401) Unauthorized on Mac OS only预警系统。请求失败。远程服务器返回错误:(401) Unauthorized on Mac OS only
【发布时间】:2020-12-24 00:18:20
【问题描述】:

我需要连接到 EWS。我为此使用 Microsoft.Exchange.WebServices.NETStandard NuGet 包。在 Windows 机器上一切正常,但在 Mac OS 上我收到错误“远程服务器返回错误:(401)未经授权。”此外,如果我只使用 Microsoft.Exchange.WebServices 它可以正常工作,但我的整个项目都是基于 .Net Core。也许有人遇到过这个问题。

using System;
using System.Linq;
using Microsoft.Exchange.WebServices.Data;

namespace testExchange
{
    class Program
    {
        static void Main(string[] args)
        {
            var exchangeService = new ExchangeService(ExchangeVersion.Exchange2010_SP2, TimeZoneInfo.Utc);
            
            string userLogin = "userLogin";
            string userPass = "userPassword";
            string exchangeDomain = "icx";
            string userEmail = "userEmail@domain.com";
            string webmail = "https://domain/ews/Exchange.asmx";
            exchangeService.Credentials = new WebCredentials(userLogin, userPass, exchangeDomain);
            exchangeService.Url = new Uri(webmail);

            string name = exchangeService.ResolveName(userEmail, ResolveNameSearchLocation.DirectoryOnly, true).Result.First().Contact.DisplayName;

            Console.WriteLine(name);
        }
    }
}

【问题讨论】:

    标签: c# .net macos .net-core exchangewebservices


    【解决方案1】:
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    

    它有帮助。只需添加这个。 非常感谢Ahh Bui

    Post where I found the answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      相关资源
      最近更新 更多