如何从ASP.net连接到ExchangeServer(使用c#)?

如何从ASP.net连接到ExchangeServer(使用c#)?,c#,asp.net,exchange-server,C#,Asp.net,Exchange Server,这是我用来连接ExchangeServer的代码。我的帐户分配了2个邮箱。这可能是问题所在吗?我没有得到任何错误或一些结果。有人能帮我吗 static void Main(string[] args) { ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); service.Credentials = new NetworkCredential( "{Active Dir

这是我用来连接ExchangeServer的代码。我的帐户分配了2个邮箱。这可能是问题所在吗?我没有得到任何错误或一些结果。有人能帮我吗

static void Main(string[] args)
{
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

    service.Credentials = new NetworkCredential( "{Active Directory ID}", "{Password}", "{Domain Name}" );


    service.AutodiscoverUrl("user@domain.com");

    FindItemsResults<Item> findResults = service.FindItems(
                WellKnownFolderName.Inbox,
                new ItemView(10));

    foreach (Item item in findResults.Items)
        Console.WriteLine(item.Subject);
}
static void Main(字符串[]args)
{
ExchangeService服务=新的ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials=newnetworkcredential(“{activedirectory ID}”,“{Password}”,“{Domain Name}”);
服务。自动发现URL(“user@domain.com");
FindItemsResults findResults=service.FindItems(
WellKnownFolderName.Inbox,
新项目视图(10);
foreach(findResults.Items中的项目)
Console.WriteLine(项目主题);
}

您遇到的错误是什么

编辑:

对不起,你这么做了

所以
findresults
null
还是具有
Count==0

代码中的大括号是什么


service.Credentials=newnetworkcredential(“{activedirectory ID}”,“{Password}”,“{Domain Name}”)

问题是我没有在Exchange Server中设置自动发现。因此,我必须在服务中提供url:

service.Url = new Uri("https://mail.domain.com/EWS/exchange.asmx");

@ardman感谢您的编辑:p大括号可以是例如Active Directory Id:stohi密码:pass1234域名:domain.com我没有查看count或findresultOK的值,因此这些不是您要传递给构造函数的确切参数。您可以尝试单步执行调试器,看看是连接尝试失败还是
service.FindItems
未返回任何项目。如果你没有得到任何异常,后者似乎更有可能。我只是在foreach循环中添加了一个计数器(整数变量)。但findResults.Items中似乎没有项。所以foreach循环将永远不会被访问。这是一个明显的问题,但我必须问-你确定你正在访问的邮箱中有项目吗?你能在Outlook中看到它们吗?是的,当然有。但我有两个邮箱:一个是我的账户邮箱,另一个是IT帮助台邮箱。所以,如果你理解通常每个电子邮件地址都有一个邮箱,但我有两个邮箱。