レスポンスでcsvを返した時の問題

HTTPのレスポンスでcsvファイルを返す処理で問題発生。
ローカル環境で実行したときは正常にcsvを返せていたが、
IISを介して実行すると中身が空のcsvファイルが返ってきてしまう。

原因を調べていたところ、似たような現象についての記事を発見
http://stackoverflow.com/questions/11526396/how-to-response-write-on-iis7-5
※画面中断のBryan氏の回答

Fiddler2を使用してcsvファイルを返しているHTTPレスポンスをキャプチャしてみると、
bodyは空で、記事と同じようにContent-Encodingがgzipで返ってきていた。

やはり、IISが圧縮してからレスポンスを返してきているようだったので、
以下を参考にして圧縮設定を解除したところ、正常にcsvファイルを返すことできた。
http://technet.microsoft.com/ja-jp/library/ee431600.aspx

その際、動的圧縮だけでなく静的圧縮の設定も解除する必要があった。
静的圧縮を許している場合、一定サイズを超えたファイルを自動で圧縮するらしい。
http://blog.progfast.jp/labs/index.php/arts/iis-7-static-gzip/


その他参考:
http://niyodiary.cocolog-nifty.com/blog/2009/06/aspnetc-7eae.html
http://social.msdn.microsoft.com/Forums/en-US/914c6b1c-343f-4b9a-84b3-5960b33a51f0/responseend-responseclose-
http://pub.ne.jp/Chunn/?entry_id=1293658