2009-03-12 3 views
3

IIS 6サーバーが提供するすべてのページにいくつかのHTMLを追加したいと思います。これは、ほとんどの場合静的なHTMLを提供しています。これはIISや拡張機能で可能なのでしょうか?私は、HTMLがどのようにどこに注入されるか、この場合はタグの前に何らかの制御を必要とするでしょう。あなたの提案をありがとう!IISがサービスするすべてのページにHTMLを追加(挿入)できるようにすることはできますか?

答えて

2

ネイティブでは、ドキュメントのフッター([ドキュメント]タブ)を挿入するだけでよいと思います。

1

IISでは、フッターを追加することができます。このフッターは、著作権のある行などに最適です。本当に "注入"するために、より多くのコントロールが必要な場合は、.htmlリクエストを処理し、必要なものを追加するHTTPハンドラ(.NET)を作成します。

"古い学校"の場合は、代わりにISAPIフィルタを使用してください。あまりにも私の好みのために働く。

2

ASP.NETに精通している場合は、HTTP応答フィルタと書くことができます。

このarticle by Milan Negovanをお読みください。

のHttpResponseクラスは非常に有用な特性を有する:

public Stream Filter {get; set;} 

MSDNが の人の説明には、このプロパティを提供する:「 HTTPエンティティを変更するために使用 ラッピングフィルタオブジェクトを取得または設定体の前に 送信 "混乱している? という単語では、各ページの応答に独自のカスタム フィルタを割り当てることができます。 HttpResponseはすべてのコンテンツをフィルタを通して に送信します。このフィルタは、応答の直前に が呼び出されます。 がユーザに戻ります。 には、必要ならば変換する変更があります。 です。

あなたは「レガシー」適切なコードと コードまたは代替プレースホルダ (あなたが にそれを名前のヘッダー、フッター、ナビゲーション、)からの出力を変換する必要が 場合、これは非常に便利である可能性があります。さらに、 回では、すべてのサーバーコントロールが ルールによって再生され、期待通りの結果を出すように、 を確実にすることは不可能です。 応答フィルタを入力します。

Filterプロパティのタイプは System.IO.Streamです。独自の フィルタを作成するには、 System.IO.Stream(抽象クラ​​ス クラス)からクラスを派生させ、その実装方法を に追加する必要があります。

関連する問題