У меня есть HttpModule с фильтром (PageFilter), где метод Writer PageFilter вызывается дважды для каждого запроса страницы, к сожалению, не с тем же результатом.
Идея фильтра - найти "" и вставить перед ним текст / скрипт. Я обнаружил кучу мелких ошибок (и исправил их), но эта ошибка обманывает меня ...
Конструктор og PageFilter вызывается один раз, но его метод записи вызывается дважды за запрос?
ниже - содержимое PageFilter.Writer (которое запускается дважды)
string strBuffer = System.Text.UTF8Encoding.UTF8.GetString (buffer, offset, count);
try
{
Regex eof = new Regex("</html>", RegexOptions.IgnoreCase);
if (!eof.IsMatch(strBuffer))
{
//(1)
responseHtml.Append(strBuffer);
}
else
{
//(2)
responseHtml.Append (strBuffer);
string finalHtml = responseHtml.ToString ();
Regex re = null;
re = new Regex ("</body>", RegexOptions.IgnoreCase);
finalHtml = re.Replace(finalHtml, new MatchEvaluator(lastWebTrendsTagMatch));
// Write the formatted HTML back
byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes (finalHtml);
responseStream.Write(data, 0, data.Length);
}
}
catch (Exception ex)
{
Logging.Logger(Logging.Level.Error, "Failed writing the HTML...", ex);
}
При первом запуске метода case (1) запускается и во втором Case (2) запускается ... это не то, чего я хочу, кто-нибудь знает, почему и / или как я могу заставить его работать (последовательно)? *