Вы всегда можете добраться до этих вещей через
System.Web.HttpContext.Current.Request
System.Web.HttpContext.Current.Response
Класс HttpContext и текущее свойство
Инкапсулирует всю специфичную для HTTP информацию об отдельном HTTP-запросе.
И для управления каким-либо значением cookie на вашем сайте я бы предложил создать класс BasePage, от которого унаследованы все ваши страницы, и выполнить там проверки:
public class BasePage : System.Web.UI.Page
{
protected override void OnPreRender(EventArgs e)
{
UpdateCookie();
base.OnPreRender(e);
}
}
сделать то же самое в вашей MasterPage:
public class SiteMasterPage : MasterPage
{
protected override void OnPreRender(EventArgs e)
{
UpdateCookie();
base.OnPreRender(e);
}
}
public static void UpdateCookie()
{
HttpContext context = System.Web.HttpContext.Current;
HttpCookie cookie = context.Response.Cookies.Get("Update")
?? new HttpCookie("Update");
int value = 0;
int.TryParse(cookie.Value, out value);
value++;
cookie.Expires = DateTime.Now.AddDays(30);
cookie.Value = value.ToString();
context.Response.Cookies.Set(cookie);
}