Je voudrais ajouter du HTML à chaque page que notre serveur IIS 6 sert. Il sert le HTML statique pour la plupart. Est-ce quelque chose que IIS ou une extension peut faire? J'aurais besoin d'un peu de contrôle sur comment et où le HTML est injecté, dans ce cas avant le tag. Merci pour vos suggestions!Puis-je faire en sorte que IIS ajoute (injecte) du code HTML à chaque page qu'il sert?
Répondre
Je crois que la seule chose que je puisse faire est d'insérer un pied de document (dans l'onglet Documents).
Dans IIS proprement dit, vous pouvez ajouter un pied de page, ce qui est idéal pour une ligne de copyright ou similaire. Si vous voulez plus de contrôle, pour vraiment "injecter", je voudrais créer un gestionnaire HTTP (.NET) qui gère les requêtes .html et ajoute ce dont vous avez besoin.
Si vous êtes "old school", utilisez plutôt les filtres ISAPI. Trop de travail à mon goût.
Si vous êtes familier avec ASP.NET, vous pouvez écrire un Filtre de réponse HTTP pour cela.
Lisez ceci article by Milan Negovan.
Le HttpResponse classe a une propriété très utile:
public Stream Filter {get; set;}
MSDN fournit une description utile de cette propriété: « Obtient ou définit un objet de filtre d'emballage utilisé pour modifier l'entité HTTP corps avant la transmission . " Confus? Dans les autres mots , vous pouvez affecter votre propre filtre personnalisé à chaque réponse de page. HttpResponse enverra tout le contenu via votre filtre. Ce filtre sera être appelé juste avant que la réponse remonte à l'utilisateur et vous aurez avoir un changement pour le transformer si besoin être.
Cela pourrait être extrêmement utile si vous besoin de transformer la sortie de « l'héritage » du code ou de remplacement des espaces réservés (tête, pied de page, la navigation, vous le nom il) avec le code approprié. En outre, à fois il est simplement impossible d'assurer que chaque contrôle serveur joue par les règles et produit ce que vous attendez à. Entrez les filtres de réponse. La propriété Filter est du type
System.IO.Stream
. Pour créer votre propre filtre , vous devez dériver une classe de System.IO.Stream (qui est une classe abstraite ) et ajouter l'implémentation à ses méthodes .