C# EWS托管API,为什么Item.DateTimeSent.millis秒始终为零?

C# EWS托管API,为什么Item.DateTimeSent.millis秒始终为零?,c#,asp.net-mvc,exchange-server,exchangewebservices,ews-managed-api,C#,Asp.net Mvc,Exchange Server,Exchangewebservices,Ews Managed Api,我正在尝试计算发送电子邮件所用的时间和接收电子邮件所用的时间。我在我的程序中使用EWS,我将流式通知设置为在新邮件到达收件人邮箱时接收回拨 收到通知后,我将Itemevent与ews服务绑定,检查了项目属性DateTimeCreated、DateTimeSent、DateTimeReceived。所有这些属性都是DateTime对象的属性 我检查了DateTimeSent毫秒始终为0,而DateTimeCreated、DateTimeReceived的值为毫秒 我不明白为什么DateTimeSe

我正在尝试计算发送电子邮件所用的时间和接收电子邮件所用的时间。我在我的程序中使用EWS,我将流式通知设置为在新邮件到达收件人邮箱时接收回拨

收到通知后,我将Itemevent与ews服务绑定,检查了项目属性DateTimeCreated、DateTimeSent、DateTimeReceived。所有这些属性都是DateTime对象的属性

我检查了DateTimeSent毫秒始终为0,而DateTimeCreated、DateTimeReceived的值为毫秒

我不明白为什么DateTimeSent毫秒每次都是0。如果我想计算从发送到接收所花费的时间,我应该怎么做

DateTimeReceived-Datetimesent是发送和接收邮件的实际时间


或者,计算发送和接收消息所需时间的正确方法是什么?

如何实际测量
时间跨度?例如,显示总毫秒数,但您可以根据需要进行更改

var result=((TimeSpan)(DateTimeReceived  - DateTimeSent )).TotalMilliseconds.ToString("#,##0.00") + "ms";

在EWS管理的API中,ExchangeService类有一个精度属性,您需要在进行任何调用之前设置该属性。请参见将DateTimePrecision设置为毫秒

   ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    service.Credentials = new WebCredentials(username, password);
    service.Url = new Uri(ConfigSettings.EmailConnectionUrl);
    service.DateTimePrecision = DateTimePrecision.Milliseconds;

你的意思是你有一个正常的日期值,但它的精度是秒,而不是毫秒?精度设置毫秒,但在DateTimeSent中仍然找不到毫秒谢谢你的回答,但它不适用于我的情况我已经设置了这个,但在DateTimeSent中仍然找不到毫秒如果你启用跟踪并查看来自和发往服务器的XML,它应该会告诉你发生了什么。太棒了。稍亮一点,条件检查大于小于毫秒级,但以秒级显示。