C# 在exchange API中使用AutoDiscoveryURL

C# 在exchange API中使用AutoDiscoveryURL,c#,C#,我正在使用Exchange API访问我的电子邮件收件箱。我正在用C#编写代码。我无法理解AutoDiscoveryURL的用法。每次我调试它都会被困在“myService.AutodiscoverURL”中。一个空白的命令提示符打开,之后我无法调试。为了进一步调试,我应该在代码中更改什么?在“RedirectionCallback”中我应该返回什么 公共类程序 { 静态bool重定向回调(字符串url) { 返回url.ToLower().StartsWith(“computername.do

我正在使用Exchange API访问我的电子邮件收件箱。我正在用C#编写代码。我无法理解AutoDiscoveryURL的用法。每次我调试它都会被困在“myService.AutodiscoverURL”中。一个空白的命令提示符打开,之后我无法调试。为了进一步调试,我应该在代码中更改什么?在“RedirectionCallback”中我应该返回什么

公共类程序
{
静态bool重定向回调(字符串url)
{
返回url.ToLower().StartsWith(“computername.domain.contoso.com/EWS/Exchange.asmx”);
}
静态void Main(字符串[]参数)
{
ExchangeService myService=新的ExchangeService(ExchangeVersion.Exchange2007_SP1);
myService.Credentials=新的网络凭据(“abc@org.com“,”密码“,”域“);
myService.AutodiscoverUrl(“abc@org.com“,重定向回调);
WriteLine(“EWS端点:{0}”,myService.Url);
Folder inbox=Folder.Bind(myService,WellKnownFolderName.inbox);
Console.WriteLine(“文件夹名称为”+inbox.DisplayName.ToString());
WriteLine(“EWS端点:{0}”,myService.Url);
FindItemsResults findResults=myService.FindItems(WellKnownFolderName.Inbox,新项目视图(10));
string content=string.Empty;
foreach(findResults.Items中的项目)
{
EmailMessage email=EmailMessage.Bind(myService,item.Id);
email.Load();
内容+=项目。主题+“\n”;
content+=email.From.Address+“\n”;
content+=email.Body+“\n\n”;
Console.WriteLine(项目主题);
Console.WriteLine(email.From.Address);
Console.WriteLine(email.Body);
}
字符串结果=内容;
}
}

public class Program
{
    static bool RedirectionCallback(string url)
    {
        return url.ToLower().StartsWith("computername.domain.contoso.com/EWS/Exchange.asmx");
    }
    static void Main(string[] args)
    {
          ExchangeService myService = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
          myService.Credentials = new NetworkCredential("abc@org.com", "password", "domain");

          myService.AutodiscoverUrl("abc@org.com", RedirectionCallback);
          Console.WriteLine("EWS Endpoint: {0}", myService.Url);
          Folder inbox = Folder.Bind(myService, WellKnownFolderName.Inbox);
          Console.WriteLine("The folder name is " + inbox.DisplayName.ToString());
          Console.WriteLine("EWS Endpoint: {0}", myService.Url);

          FindItemsResults<Item> findResults =   myService.FindItems(WellKnownFolderName.Inbox, new ItemView(10));
          string content = string.Empty;

          foreach (Item item in findResults.Items)
          {
              EmailMessage email = EmailMessage.Bind(myService, item.Id);
              email.Load();

              content += item.Subject + "\n";
              content += email.From.Address + "\n";
              content += email.Body + "\n\n";

              Console.WriteLine(item.Subject);
              Console.WriteLine(email.From.Address);
              Console.WriteLine(email.Body);
        }

        string result = content;
    }