Dan*_*iel 9 .net c# exchangewebservices ews-managed-api exchange-server-2010
我最近使用C#编写了一个.NET Console应用程序.其目的是读取特定文件夹中的电子邮件,解析它们以获取特定值并将其保存到数据库中.
我最初编写此代码时的电子邮件系统是Exchange 2003.但是,我知道我们很快就会升级到Exchange 2010:ergo,我构建了代码以在两种环境中工作.
但是,在迁移到Exchange 2010之后,应用程序已经崩溃.
该应用程序使用EWS API for 2010功能.当它尝试使用ExchangeService的FindFolders方法来查找publicfoldersroot时,它会抛出异常.这是代码:
ExchangeService service = new ExchangeService();
FindFoldersResults findRootFldrs;
service.UseDefaultCredentials = true;
service.AutodiscoverUrl("xxxxx@xxxx.xxx", delegate(string x) {
return true; });
FolderView fview = new FolderView(100);
fview.Traversal = FolderTraversal.Deep;
findRootFldrs = service.FindFolders(WellKnownFolderName.PublicFoldersRoot,
fview);
Run Code Online (Sandbox Code Playgroud)
例外:ErrorInvalidSchemaVersionForMailboxVersion,又名:
请求的邮箱不支持指定的RequestServerVersion
我试过了:
将exchangeservice设置为2007(抛出异常:"发生内部服务器错误.操作失败.")
给自己最高级别的公共文件夹权限(没有效果)
手动设置我的凭据(无效)
我可以在Outlook 2007中查看公用文件夹; intellisense中提供了publicfoldersroot属性; 代码适用于本地文件夹(我可以解析我的收件箱).
我目前的想法是,它是最近设置Exchange 2010的一个设置:遗憾的是,这不是我的领域.例外情况告诉我它正在尝试使用以前版本的Exchange.将其设置为2007只会导致代码失败并出现内部服务器错误.
| 归档时间: |
|
| 查看次数: |
6177 次 |
| 最近记录: |