小智 53
要获取会话ID,请执行以下操作:
// In a user control or page
string sessionId = this.Session.SessionID;
// In a normal class, running in a asp.net app.
string sessionId = System.Web.HttpContext.Current.Session.SessionID;
Run Code Online (Sandbox Code Playgroud)
你不应该:
在无cookie的场景中,第一次访问Session对象时会创建会话ID.这应该不重要,因为当您访问SessionID属性时,会访问会话对象.
有关详细信息,请查看以下内容:
http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx
注意:msdn示例由猴子编写.
您可以使用Global.asax
文件并在Session_Start
事件中设置Session .见下文
在Global.asax
文件中你可以做这样的事情:
protected void Session_Start(object sender, EventArgs e)
{
Session["sid"] = Session.SessionID;
Session["sid"] = "Test";
}
Run Code Online (Sandbox Code Playgroud)
然后在您的WebForm中,您可以获得会话ID和值,如下所示
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Session ID is:" + Session.SessionID.ToString()+ "<br/>");
Response.Write("Session value is:" + Session["sid"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅http://www.dotnetcurry.com/ShowArticle.aspx?ID=126
答案部分取决于您存储会话状态的位置。Session_Start
假设您使用默认值(inproc),那么您可以使用 global.asax 中的和事件来维护当前会话 ID 的列表Session_End
。
归档时间: |
|
查看次数: |
72727 次 |
最近记录: |