webForumDet fria alternativet

kolla inloggning

.NETur .NET

1 svar · 212 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#1

Jag tänkte med mha denna kolla om en användare har rätt session satt:

[red]
protected void Application_BeginRequest(Object sender, EventArgs e)
{
    string validateuser = HttpContext.Current.Request.CurrentExecutionFilePath.ToString();
	Match checkfilepath = Regex.Match(validateuser, @"\/area51", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase);
	if(checkfilepath.Success)
	{
		[b]if(HttpContext.Current.Session["area51"] != null)[/b]
		{
			Response.Redirect("/office/");
		}
	}
}
[/red]

Men jag får:
System.NullReferenceException: Object reference not set to an instance of an object.
på den feta raden.

Hur ska jag lösa detta?

mvh icaaq

Medlem sedan okt. 20005 273 inlägg
#2

Man kunde inte anropa Session så tidigt i global.asax, då löste jag det på detta sätt istället

[red]
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
  string validateuser = HttpContext.Current.Request.CurrentExecutionFilePath.ToString();
  Match checkfilepath = Regex.Match(validateuser, @"\/area51", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase);
  if(checkfilepath.Success)
  {
  
    if(Session["area51"] == null)
    {
      Response.Redirect("/office/");
    }
  }
}
[/red]

mvh icaaq

133 ms totalt · 3 externa anrop · v20260731065814-full.8a4e7caf
130 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)