IHttpModule и кэширование
От: flashion  
Дата: 11.01.07 16:54
Оценка:
Объясните мне, что происходит:



using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Test
{
    public class MyModule : IHttpModule
    {
        private void Application_BeginRequest(object sender, EventArgs e)
        {
            HttpContext.Current.Response.Write(DateTime.Now.ToString() + "<br />");
            HttpContext.Current.Response.Write(Now);
        }

        private string _Now = "";
        private string Now
        {
            get
            {
                if (_Now == "")
                {
                    _Now = DateTime.Now.ToString();
                }

                return _Now;
            }
        }

        public void Init(HttpApplication Application)
        {
            Application.BeginRequest += (new EventHandler(Application_BeginRequest));
        }
        public void Dispose()
        {

        }
    }
}


Почему строчка "HttpContext.Current.Response.Write(DateTime.Now.ToString() + "<br />");" возвращает текущее время, а строчка "HttpContext.Current.Response.Write(Now);" — время первого запроса?

Другими словами, то, что свойства и методы, судя по всему, кэшируются, мне очень сильно мешает.
Что можно сделать в такой ситуации?

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.