c# – Exchange Web服务(EWS)调用在ASP.NET下失败,但在控制台应用程序中失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – Exchange Web服务(EWS)调用在ASP.NET下失败,但在控制台应用程序中失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1932字,纯文字阅读大概需要3分钟。
内容图文
当我尝试通过ASP.NET连接到Exchange Web服务时出现错误.
如果我通过控制台应用程序调用它,则以下代码可以工作,但是在ASP.NET Web表单页面上执行时,相同的代码会失败.正如旁注,我在整个代码示例中使用自己的凭据.
“将请求作为没有邮箱的帐户发出时,必须为任何可识别的文件夹ID指定邮箱主SMTP地址.”
我以为我可以通过指定模拟用户来解决问题.
exchangeservice.ImpersonatedUserId =
new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "email@domain.com");
但后来我得到了一个不同的错误.
“该帐户无权模拟所请求的用户.”
运行Web应用程序的App Pool也是我自己的帐户(与控制台应用程序相同),因此我不知道可能导致此问题的原因.
我正在使用.NET framework 3.5.
这是完整的代码.
var exchangeservice =
new ExchangeService(ExchangeVersion.Exchange2010_SP1)
{
Timeout = 10000
};
var credentials = new System.Net.NetworkCredential("username", "pass", "domain");
exchangeservice.AutodiscoverUrl("email@domain.com")
FolderId rootFolderId = new FolderId(WellKnownFolderName.Inbox);
var folderView = new FolderView(100)
{
Traversal = FolderTraversal.Shallow
};
FindFoldersResults findFoldersResults =
service.FindFolders(rootFolderId, folderView);
解决方法:
您是否尝试直接针对服务设置凭据?
this.exchangeService.Credentials = new WebCredentials("username", "pass");
this.exchangeService.AutodiscoverUrl("username", this.RedirectionUrlValidationCallback);
并使用它作为验证回调..
/// <summary>
/// Redirections the URL validation callback.
/// </summary>
/// <param name="redirectionUrl">The redirection URL.</param>
/// <returns>true if https</returns>
private bool RedirectionUrlValidationCallback(string redirectionUrl)
{
// The default for the validation callback is to reject the URL.
var result = false;
var redirectionUri = new Uri(redirectionUrl);
// Validate the contents of the redirection URL. In this simple validation
// callback, the redirection URL is considered valid if it is using HTTPS
// to encrypt the authentication credentials.
if (redirectionUri.Scheme == "https")
{
result = true;
}
return result;
}
内容总结
以上是互联网集市为您收集整理的c# – Exchange Web服务(EWS)调用在ASP.NET下失败,但在控制台应用程序中失败全部内容,希望文章能够帮你解决c# – Exchange Web服务(EWS)调用在ASP.NET下失败,但在控制台应用程序中失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。