0

HTTP ハンドラーがリクエストをパイプラインを介して IIS 6 に戻し、リクエストを処理させる方法はありますか?

たとえば、verb="(wildcard)" path="(wildcard).txt" に設定された HTTP ハンドラーがあるとします。

myunformated.txt というファイルがあります。クエリ文字列パラメーターが添付されていない場合は、IIS 6 からユーザーに送信してもらいたいと思います。

何か案は?

4

2 に答える 2

2

あなたの質問に対する答えはノーです。これは、IIS7 の統合パイプラインが実現するものですが、IIS6 では利用できません。

この特定のケースでは、context.Response.TransmitFile を使用するとうまくいきますが、Response のコンテンツ タイプ、文字セット、およびキャッシュ コントロール ヘッダーを次のように設定することを検討する必要があります。

HttpResponse Response = context.Response

Response.ContentType = "text/plain";
Response.CharSet = "Windows-1252";
Response.AddFileDependency(filePath);

// Set additional properties to enable caching.
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
Response.TransmitFile(filePath);

これは、IIS の静的コンテンツ ハンドラーが行うこととほとんど同じです。

于 2009-03-13T08:25:50.747 に答える
1

Response.TransmitFileだけではないのはなぜですか?- Response.WriteFile とは異なり、これはファイル全体をロードしないことに注意してください。

完全に回避し、リンクが別のファイル名を指すようにしたい場合があります。このようにして、IIS から必要なものをすべて取得します。特に、ダウンロードを再開します。

于 2009-03-13T07:36:20.273 に答える