Можно ли заставить IIS добавлять (вставлять) HTML на каждую страницу, которую он обслуживает? - PullRequest
3 голосов
/ 12 марта 2009

Я хотел бы добавить HTML на каждую страницу, которую обслуживает наш сервер IIS 6. Он обслуживает статический HTML по большей части. Это то, что IIS или расширение может сделать? Мне понадобится некоторый контроль над тем, как и где вводится HTML, в данном случае перед тегом. Спасибо за ваши предложения!

Ответы [ 3 ]

2 голосов
/ 12 марта 2009

Если вы знакомы с ASP.NET, вы можете написать HTTP Response Filter для этого.

Прочитайте эту статью Милана Негована .

Класс HttpResponse обладает очень полезным свойством:

public Stream Filter {get; set;}

MSDN предоставляет полезное описание это свойство: "Получает или устанавливает объект фильтра обертывания, используемый для изменения тело сущности HTTP перед передача. "Запутался? В других слова, вы можете назначить свой собственный Фильтр для каждого ответа страницы. HttpResponse отправит весь контент через ваш фильтр. Этот фильтр будет быть вызванным прямо перед ответом возвращается к пользователю, и вы будете есть изменения, чтобы преобразовать его, если нужно будет.

Это может быть очень полезно, если вы нужно преобразовать вывод из "наследия" код или замещающие заполнители (заголовок, нижний колонтитул, навигация, ваше имя это) с надлежащим кодом. Кроме того, в раз просто невозможно обеспечить что каждый серверный элемент управления играет правила и производит то, что вы ожидаете к. Введите фильтры ответов.

Свойство Filter имеет тип System.IO.Stream. Чтобы создать свой собственный фильтр вам нужно получить класс из System.IO.Stream (который является абстрактным класс) и добавить реализацию к его многочисленные методы.

2 голосов
/ 12 марта 2009

Я считаю, что единственное, что вы можете сделать, это вставить нижний колонтитул документа (на вкладку «Документы»).

1 голос
/ 12 марта 2009

В IIS можно добавить нижний колонтитул, который отлично подходит для строки с информацией об авторских правах, или аналогичный. Если вы хотите больше контроля, чтобы действительно «внедрить», я бы создал обработчик HTTP (.NET), который обрабатывает запросы .html и добавляет то, что вам нужно.

Если вы «старая школа», используйте вместо этого фильтры ISAPI. Слишком много работы на мой вкус.

...