在C#中如何获取Session Id

24

在C#中获取会话ID的正确方法是什么?

String sessionId ;
sessionId = Session.SessionID;
或者
 string sessionId = Request["http_cookie"];
 sessionId = sessionId.Substring(sessionId.Length - 24);

实际上我完全不懂C#,但我加入了一个项目,在那里我发现了第二段代码,并通过谷歌找到了第一段代码,所以请问应该使用哪个实际的代码。


感谢Kjartan纠正了拼写错误。 - GajendraSinghParihar
1个回答

40

正确的方法是:

HttpContext.Current.Session.SessionID

1
如果有多个会话正在运行,该怎么办? - Manish Kumar
尝试使用此链接:http://stackoverflow.com/questions/722171/asp-net-multiple-session-objects-in-a-single-application - Davecz
在MVC中,由于继承Controller Base,请在控制器内使用完整路径。 string sesionID = System.Web.HttpContext.Current.Session.SessionID; - Hernaldo Gonzalez
@ManishKumarSingh不存在多会话(作为.NET对象)...只有多线程,每个线程都有自己的会话ID。 - Hernaldo Gonzalez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接