ExchangeServiceBinding命名空间错误
本文关键字:错误 命名空间 ExchangeServiceBinding | 更新日期: 2023-09-27 18:04:57
摘要:应用程序将不接受ExchangeServiceBinding
命令。
细节:
我正在尝试遍历一个非常大的邮箱,所以我使用索引将收件箱分成200个电子邮件块。我能找到的唯一示例(如下所示)一直返回
类型或命名空间名称"ExchangeServiceBinding"无法找到(您是否缺少using指令或程序集引用?)
我觉得很奇怪,因为我用的是using Microsoft.Exchange.WebServices;
。任何想法或帮助是非常感激的。我正在运行Windows 7和Visual Studio 2010,试图访问Exchange 2007邮箱。
我尝试过的事情:
- 搜索谷歌
- 搜索Stack 溢出
- 搜索MSDN
- 把我的头摔在桌子上
- 试错
代码:
// Create binding variable to be used for GetItemsFromInbox().
// Set up the binding with credentials and URL.
ExchangeServiceBinding binding = new ExchangeServiceBinding();
binding.Credentials = new NetworkCredential(dUser, dPassword, dDomain);
binding.Url = new Uri("https://" + ExchangeServerName + "/EWS/Exchange.asmx");
// Set up the binding for Exchange impersonation.
binding.ExchangeImpersonation = new ExchangeImpersonationType();
binding.ExchangeImpersonation.ConnectingSID = new ConnectingSIDType();
binding.ExchangeImpersonation.ConnectingSID.PrimarySmtpAddress = "mailboxnamehere”;
// Call GetItemsFromInbox()
int index = 0;
bool looping = true;
while (looping)
{
List<ItemType> items = GetItemsFromInbox(binding, index, 200, index);
if (items == null || items.count == 0)
{
looping = false;
break;
}
// Do your work here
}
不要使用Exchange Web服务,而是使用Exchange托管API。
SDK: http://msdn.microsoft.com/en-us/library/dd633710 (v = exchg.80) . aspx
下载:http://www.microsoft.com/download/en/details.aspx?id=13480
比WebServices更容易使用
我发现我的错误了。此方法仅适用于Exchange 2010。因为我运行的是Exchange 2007,所以我必须想出一种完全不同的方法来实现这个功能。
谢谢大家的帮助,我真的很感激。
你应该在你的exchange WebService解决方案中添加一个WebReference。https://exchaneServerName/EWS/Exchange.asmx
ExchangeServiceBinding
包含在ews.dll
中。根据你的错误,你没有添加对这个DLL文件的引用。
关于生成Exchange Web服务代理类的更多信息:
现在您有了一个带有自动生成代理的代码文件。接下来,将代码文件编译为程序集,以便在Exchange Web Services项目中使用。c#编译器可以在Visual Studio 2005命令提示符中使用。假设您将代码文件命名为EWS.cs,您可以在命令提示符处运行以下命令,将代码编译成程序集:
csc /target:library /out:EWS.dll EWS.cs
注意EWS.dll是编译程序集的名称。EWS.dll就是这样创建的。