1

我用 C# 编写了一个 Windows 服务来使用 EWS 自动轮询交换邮箱。

在我的开发机器上,它通过 VPN 连接到交换服务器网络,它运行良好。

在目标服务器上,EWS 正在返回Request failed. The remote server returned an error: (401) Unauthorized.(The remote server returned an error: (401) Unauthorized.)

在同一台服务器上,我可以使用提供给服务的相同凭据通过浏览器连接到 EWS URL。

凭据在 app.config 文件中提供,我已经三次检查它们在目标服务器上是否与我的开发机器上的相同。

这可能是什么原因造成的?

4

1 回答 1

0

事实证明,问题是这个

_ews.Credentials = new NetworkCredential(Settings.Username, Settings.Password); // Username in the form "domainname\username"

应该是这个

_ews.Credentials = new NetworkCredential(Settings.Username, Settings.Password, Settings.Domain); // Domainname and username separate

出于某种原因,第一行在外部通过 VPN 工作,但在域网络本身内部却没有。

于 2013-08-30T00:54:51.940 回答