2016-09-28 35 views
0

我們有EWS郵件用戶零星的問題。在堆棧跟蹤我們看到是否從枚舉MailboxType中缺少GroupMailBox?

System.ArgumentException: Requested value 'GroupMailbox' was not found.' 

發現

這是堆棧跟蹤:

at System.Enum.TryParseEnum (System.Type enumType, System.String value, Boolean ignoreCase, System.EnumResult& parseResult) <0x10087d640 + 0x0052b> 
    in <filename unknown>:0 
    at System.Enum.Parse (System.Type enumType, System.String value, Boolean ignoreCase) <0x1006b91a8 + 0x00057> 
    in <filename unknown>:0 
    at Microsoft.Exchange.WebServices.Data.EwsUtilities.Parse[T] (System.String value) <0x10114e1ac + 0x000e3> 
    in <filename unknown>:0 
    at Microsoft.Exchange.WebServices.Data.EwsXmlReader.ReadValue[T]() <0x10114e764 + 0x00053> 
    in <filename unknown>:0 
    at Microsoft.Exchange.WebServices.Data.EwsXmlReader.ReadElementValue[T]() <0x10114e078 + 0x00087> 
    in <filename unknown>:0 
    at Microsoft.Exchange.WebServices.Data.EmailAddress.TryReadElementFromXml (Microsoft.Exchange.WebServices.Data.EwsServiceXmlReader reader) <0x1010a4330 + 0x00187> 
    at Microsoft.Exchange.WebServices.Data.EmailAddress.TryReadElementFromXml (Microsoft.Exchange.WebServices.Data.EwsServiceXmlReader reader) <0x1010a4330 + 0x00187> 

在源,我們的事情該方法 EmailAddress的:: TryReadElementFromXml

 case XmlElementNames.MailboxType: 
       this.mailboxType = reader.ReadElementValue<MailboxType>(); 

分析:

我們認爲對於某些郵件,MailboxType枚舉試圖解析。但枚舉MailboxType不包含值GroupMailbox,因此引發異常。

這是MailboxType枚舉

https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.mailboxtype%28v=exchg.80%29.aspx?f=255&MSPPError=-2147217396

的文檔有沒有可能是服務器邏輯是更新枚舉沒有跟上最新的???

此外:

而且我們已經追查下來的方法EWSUtilities.cs

internal static T Parse<T>(string value) 

else子句是

  else 
      { 
       return (T)Enum.Parse(typeof(T), value, false); 
      } 

哪些應該在保留枚舉沒有找到?而不是做一個TryParse它做一個解析失敗。

這顯然也是一個錯誤???

回答