SoapExtension

SOAPメッセージのgzip圧縮を実装中。拾ってくれば良かったんだけどまずは内部の動きを知りたくて手で書いている。.NETは拡張がとっても簡単だねぇ。

手順は簡単でWebサービスメソッドにカスタム属性追加するだけ。SoapExtension, SoapExtensionAttributeのサブクラスを作れば拡張の準備完了。ProcessMessageメソッドをオーバーライドしてSoapMessageを処理してやれば処理完成。この辺はMSDNに情報が散らばってたからかき集めれば楽にできた。全部のWebサービスメソッドに適用する場合はアプリの構成ファイルにsoapExtensionTypesを定義すれば適用できる。既存システムをgzip対応にする時なんかはこっちですね。

Framework2.0だとgzipの圧縮解凍は簡単にできる。SOAPの応答もgzipに対応してるはずなんだけど、やり方が分からない。。。

#もしかしてIIS6.0じゃないと駄目?VS.2005内臓のASP.NET開発サーバでやってるんだけど。。。明確に駄目とは見てないから見つかるまで探す〜。