Are you writing that in Session_OnStart ( or Session_Start ) ?
If so, and if you define "conn" before you define Session["mysessionvar"], it should work.
public void Session_OnStart()
{
string conn = "someconnection string";
Session["mysessionvar"] = conn;
}
Do you have session state enabled ? If you do...that should work.
btw, you can always continue to use codebehind in global.asax.
There's nothing stopping you.
Just create the global.asax.cs file in the App_Code directory
....and code away...in both global.asax and global.asax.cs.
Make sure that Global inherits from HttpApplication in global.asax.cs :
public class Global : HttpApplication
{
public Global()
{
}
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
//
// TODO: Add constructor logic for other Application events here
//
}
}
Make sure you Import all the classes you need in global.asax.cs
and... in global.asax...you'll need this directive :
<%@ Application Language="C#" Inherits="Global" %>
That's it!
You can continue to blissfully code the way you're used to.
Quite frankly, I don't know why you'd want to do that,
since in global.asax you *can* do anything you can do in global.asax.cs
without needing to double-compile your global.code but, hey, we aim to please!