Нет никакого категорического списка - для там, чтобы быть можно было бы, скорее всего, потребовать, чтобы некоторые полномочия объявили, является ли шаблон шаблоном или просто... что-то еще.
Некоторые шаблоны имеют смысл только в подмножестве языков - каноническое книжные концентраты GOF на Java (или он C++? Книга по моему столу в офисе), и некоторые описанные шаблоны не очень релевантны в, например, Ruby или VB6. И наоборот конечно.
Поместите этот код в событие Init
/ Load
страницы 2 ...
if (Context.Session != null)
{
if (Context.Session.IsNewSession)
{
string sCookieHeader = Request.Headers["Cookie"];
if ((null != sCookieHeader) && (sCookieHeader.IndexOf("ASP.NET_SessionId") >= 0))
{
if (Request.IsAuthenticated)
{
FormsAuthentication.SignOut();
}
Response.Redirect("Error Page");
}
}
}
В качестве альтернативы вы можете проверить, существует ли объект Session
, прежде чем приступить к работе с ним на странице 2, например:
if (Session["Key"] != null)
{
Object O1 = (Object) Session["Key"];
}
else
{
Response.Redirect("ErrorPage.aspx");
}