我对asp.net会话管理有很好的理解。
但我对此没什么疑问。
任何链接/书,给我非常深入的想法,有关会议将对我有帮助。
提前谢谢!普拉尚特
发布于 2013-03-29 12:01:50
我对asp.net会话管理有很好的理解。
我认为你在这里滥用了术语。ASP.NET Session是一回事,Forms Authentication是一个完全不同的东西。我想您在这里讨论的是表单身份验证。
1)何时创建会话id。当客户端以用户名和密码登录到应用程序时。或者当客户端尝试访问default.aspx页面时。
当有人调用FormsAuthentication.SetAuthCookie方法时,这通常是在用户名和密码凭据被LogOn操作验证之后发生的。
2)服务器如何服务客户端会话请求。
当调用FormsAuthentication.SetAuthCookie方法时,会向客户端发出一个表单身份验证cookie,并且在随后的每个请求中将该cookie发送给服务器。cookie包含用户名的加密值,允许服务器填充IPrincipal。
3)我们可以访问js中的会话id吗?
不,表单身份验证cookie是使用httponly标志发出的,这意味着客户端脚本无法访问它。
4) ASP.NET web表单与ASP.NET MVC在客户端服务器会话创建方面是否存在差异?
他们完全一样。实际上,没有像ASP.NET MVC client server session creation这样的概念。所有这些机制都来自于ASP.NET。
现在,假设您在问题中实际上谈到了ASP.NET会话。在这方面,我将尽力回答你们的问题:
1)何时创建会话id。当客户端以用户名和密码登录到应用程序时。或者当客户端尝试访问default.aspx页面时。
每当某些服务器端代码试图使用HttpContext.Session属性读取或写入会话时。
2)服务器如何服务客户端会话请求。
当某个服务器端脚本试图读取或写入HttpContext.Session对象时,会向客户端发出会话cookie。此cookie将在随后的每个请求中发送到服务器。cookie只是允许访问存储在服务器上的会话数据的id。默认情况下,会话数据存储在内存中。但是,您也可以配置ASP.NET来将其存储在程序之外或SQLServer中。有关各种会话状态模式的更多信息,请参阅MSDN。
3)我们可以访问js中的会话id吗?
不,ASP.NET会话cookie是使用httponly标志发出的,这意味着客户端脚本无法访问它。
4) ASP.NET web表单与ASP.NET MVC在客户端服务器会话创建方面是否存在差异?
他们完全一样。实际上,没有像ASP.NET MVC client server session creation这样的概念。所有这些机制都来自于ASP.NET。
https://stackoverflow.com/questions/15702706
复制相似问题