J'ai besoin de réécrire les noms de domaine sur les pages web desservies par une DLL que je n'ai aucun moyen de changer. Je pensais que s'il y avait des événements comme OnFlush avant Response.Flush se produit sur la page, je pourrais tout faire avant que la page est affichée. Y a-t-il un moyen de le faire en ASP?Response.Flush - événement OnFlush en ASP classique?
Merci pour votre aide.
P.S .: Quelque chose comme Script_OnFlush dans cette extension APACHE: http://www.apache-asp.org/events.html
la suggestion de Nick J'ai créé une classe qui hérite de la classe Stream. Response.Filter utilise cette classe pour travailler sur le contenu HTML ...
En remplaçant la méthode Write, j'ai réussi à réécrire les noms de domaine sur le site.
public override void Write(byte[] buffer, int offset, int count)
{
byte [ ] data = new byte [ count ];
Buffer.BlockCopy (buffer, offset, data, 0, count);
string myHTML = ASCIIEncoding.ASCII.GetString(data);
string convertedHTML = myHTML.Replace("http://www.previousdomain.com", "http://www.currentdomain.com");
data = ASCIIEncoding.ASCII.GetBytes(convertedHTML);
_sink.Write (data, 0, count);
}
Merci Nick!
Classic ou .NET ASP? – AnthonyWJones
Classique, j'ai peur. :( –
Est-ce que ces extensions ISAPI dll, les filtres ou les composants COM sont appelés à partir des pages ASP? – AnthonyWJones