0

EWS 1.2 api、exchange 2007、windows/.net 和 linux/mono2.10.2

使用 EWS 1.2 api 从交换中提取附件在 .net/windows 上与在 mono/linux 上给出不同的结果。

文件在字节 8192、16384、20480 处不同

所以首先在 8k 块之后,然后在下一个 8k 块之后,然后再在 4k 块之后?!

fileAttachment.Load();

byte[] buffer = fileAttachment.Content;
Console.WriteLine(buffer[8191]); //windows -> 50  | linux -> 50
Console.WriteLine(buffer[8192]); //windows -> 9   | linux -> 59
Console.WriteLine(buffer[8193]); //windows -> 54  | linux -> 44

我把

service.TraceEnabled = true;

所以我可以看一下肥皂信息。在那里我找到了一个base64字符串的内容。我用这个在线base64解码器在线转换了base64字符串,附件完美返回。

使用 EWS API 时,Linux 上的缓冲区大小比 Windows 上的小。

所以转换base64字符串linux/mono一定有问题!?

4

1 回答 1

0

是的,我在 Mono 2.10.8 中看到了同样的情况。我进行了更多调查并提交了新的错误报告:https ://bugzilla.xamarin.com/show_bug.cgi?id=9457

于 2013-01-10T16:19:59.670 回答