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 に答える