Exchange Web 服务获取收件箱计数 NullReferenceException

问题描述

我正在尝试使用 Exchange Web 服务获取过去 5 分钟内收到的电子邮件数。当我运行这个控制台时,我得到 NullReferenceException。而 StackTrace 不是那么有用。 以下是我目前在 .net 5 控制台应用程序中的内容

using System;
using System.Net;
using Microsoft.Exchange.WebServices.Data;

namespace ExchangeWebService
{
    class Program
    {
        private static Guid SearchTestGUID = new Guid("{AA3DF801-4FC7-401F-BBC1-7C93D6498C2E}");
        private static ExtendedPropertyDeFinition customPropDeFinition =
            new ExtendedPropertyDeFinition(SearchTestGUID,"ItemIndex",MapiPropertyType.Integer);        
        static void Main(string[] args)
        {            
            ExchangeService service = new ExchangeService();
            service.Credentials = new NetworkCredential("<username>","<password>","<domain>");            
            service.Url = new Uri(@"https://<EXCHANGE_SERVER>/Exchange.asmx");
            var mailBox = new MailBox("<EMAIL_TO_SEARCH_INBox>");
            var folderName = new FolderId(WellKNownFolderName.InBox,mailBox);
            var view  = new ItemView(120);
            SearchFilter filter = new SearchFilter.IsLessthanorEqualTo(ItemSchema.DateTimeReceived,DateTime.Now.AddMinutes(-5));            
            var results = service.FindItems(folderName,filter,view);
            var count = results.Items.Count;
        }     
    }
}

这里抛出了一个异常

未处理的异常。 System.NullReferenceException:对象引用 未设置为对象的实例。在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.WrapStream(Stream responseStream,String contentEncoding) 在 Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetResponseStream(IEwsHttpWebResponse 响应)在 Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.ReadResponse(IEwsHttpWebResponse 响应)在 Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.InternalExecute() 在 Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest1.Execute() at Microsoft.Exchange.WebServices.Data.ExchangeService.FindItems[TItem](IEnumerable1 parentFolderIds,SearchFilter searchFilter,String queryString,ViewBase 视图、分组 groupBy、ServiceErrorHandling errorHandlingMode) 在 Microsoft.Exchange.WebServices.Data.ExchangeService.FindItems(FolderId parentFolderId、SearchFilter searchFilter、ViewBase 视图)在 ExchangeWebService.Program.Main(String[] args) 中 C:\Temp\ExchangeWebService\ExchangeWebService\Program.cs:line 44

C:\Temp\ExchangeWebService\ExchangeWebService\bin\Debug\net5.0\ExchangeWebService.exe (进程 34216)以代码 0 退出

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)