如何跟踪用户信息,sesssion ID,Cookie的最佳方式?一次用于用户会话。 在Default.aspx中:
protected void Page_Load(object sender, EventArgs e)
{
IF (!isPostPack)
{
var sessionValue= System.Web.HttpContext.Current.Request.Cookies["ASP.NET_SessionId"] != null ? System.Web.HttpContext.Current.Request.Cookies["ASP.NET_SessionId"].Value : string.Empty;
cONSOLE.WRITELINE(sessionValue);
}
}
这不是优化。无论如何只有一次会话iD,每个用户?
答案 0 :(得分:0)
var sessionValue = System.Web.HttpContext.Current.Request.Cookies["ASP.NET_SessionId"]
!= null ?
System.Web.HttpContext.Current.Request.Cookies["ASP.NET_SessionId"].Value : string.Empty;
所有能给你的是ASP.Net用来跟踪会话的标识符。您很少需要直接访问代码。
但假设是你想要的东西,它会非常快。为了使其更清洁,您可以:
Request
(HttpContext
内无需Page
)private string _sessionId;
protected void Page_Load(object sender, EventArgs e)
{
_sessionId = Request.Cookies["ASP.NET_SessionId"] != null
Request.Cookies["ASP.NET_SessionId"].Value : string.Empty;
}
如果你想每个会话只做一次(根据评论):
protected void Session_Start( object sender, EventArgs e )
{
using( var writer = File.CreateText( @"c:\temp\session-id.txt" ) )
{
writer.WriteLine( Session.SessionID );
}
}