在现有本地 EWS Managed API 应用程序中,请在其 HTTP 操作之前将中间代理分配给服务:

using System.Net;

var proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
exchangeService.WebProxy = proxy;

exchangeService 已经保存了 EWS 终结点和服务设置。它的 Credentials 是 Exchange 账户;proxy.Credentials 则是中间代理账户。服务的默认凭据选项不会自动填充该代理对象。

在此 API 栈中要有意建立直接连接:

exchangeService.WebProxy = new WebProxy();

空的 WebProxy 会选择直接行为。相反,服务上的 null WebProxy 会保留底层请求的默认代理策略。

如果只针对一个本地主机,请使用与其实际拼写和非默认端口相符的预期绕过项,而不是更改整个计算机的路由。当 Outlook 正常工作时,比较 EWS URL 和代理对象:那个客户端可能具有不同的路由和中间代理账户。

相关文章