Windows Mobile用の.NET Compact Framework 2.0だと、GZipStreamがないので、gzipなデータを展開するのが面倒。zlibce.dllを使うとかいろいろあるのだけど、Windows Mobile 6.0 Standard (X02HT)だと標準でzlib.dllを持っているので、それを直接dllimportすることにした。ただ単に、Content-Encoding: gzipをハンドルしたいだけなんで。
実装する前に、誰かが実装しているかどうかを調べてみたところ、Google Data APIsの.NET libraryにあるのを発見。そのまま、持ってきてテストしてみたところ、二つの問題が。。。
- finallyで常にクラッシュする。GCHandle使っているからだろ。
- ヘッダをスキップしていないので、GZPI Streamの解析で常にStreamErrorになる
ということで、そこらを直してみたところ、上手く動いた。
ま、.NET Compact Framework 3.5だと、GZipStreamは実装されているので、こんな苦労はいらないけど。
0 件のコメント:
コメントを投稿