car*_*rdt 3 mono exchangewebservices
我试图在OS X上使用Mono调用EWS(Exchange版本2007 SP1).我可以连接到服务并进行身份验证,但我尝试进行的任何调用都会导致异常,如下所示:
抛出了Microsoft.Exchange.WebServices.Data.ServiceResponseException "找不到具有指定ID的时区."
我已经尝试过指定几个不同的ID,并且都会产生相同的响应.我开始怀疑TZI ID本身在平台之间是否有所不同.如果是这样,有谁知道如何解决这些差异?
两个系统上的时区ID确实存在差异.我使用以下代码遍历每个系统上的时区,并注意我感兴趣使用的时区的差异:
foreach (TimeZoneInfo tz in TimeZoneInfo.GetSystemTimeZones()){
Console.WriteLine("{0}, {1}, {2}, {3}", tz.Id,
tz.DisplayName, tz.StandardName, tz.DaylightName);
}
Run Code Online (Sandbox Code Playgroud)
然后我使用CreateCustomTimeZone方法构建了一个模仿Windows设置的实例:
TimeZoneInfo newtz = TimeZoneInfo.CreateCustomTimeZone("Central Standard Time",
tzi.BaseUtcOffset, "(GMT-06:00) Central Time (US & Canada)",
"Central Standard Time");
Run Code Online (Sandbox Code Playgroud)
我在服务调用中使用了该实例.我猜我只需要正确的ID(我设置偏移量,长名称等).
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |