Questions tagged «session-state»

16
如果REST应用程序应该是无状态的,那么如何管理会话?
我需要一些澄清。我一直在阅读有关REST和构建RESTful应用程序的信息。根据维基百科,REST本身被定义为“ 代表性状态转移”。因此,我不理解每个人不断涌出的所有无状态gobbledeygook。 从维基百科: 在任何特定时间,客户端可以在应用程序状态之间转换,也可以“静止”。处于休息状态的客户端可以与其用户进行交互,但是不会造成负载,也不会消耗服务器集或网络上的每个客户端存储。 他们只是在说不使用会话/应用程序级别的数据存储吗??? 我知道REST的一个目标是使URI访问保持一致和可用,例如,而不是在帖子内部隐藏分页请求,而使请求的页码成为GET URI的一部分。我感觉合理。但是,似乎没有任何理由说每个客户端数据(会话数据)都不应存储在服务器端。 如果我有一条消息队列,并且我的用户想阅读消息,但是在阅读过程中,他想在会话期间阻止某些发件人消息通过,该怎么办?将其存储在服务器端的某个位置,让服务器仅发送未被用户阻止的消息(或消息ID),这是否有意义? 每次我请求新的消息列表时,是否真的必须发送整个消息发件人列表才能阻止?首先,与我相关的消息列表甚至不会/也不应该是公共可用的资源。 同样,只是试图理解这一点。请有人澄清。 更新: 我发现了一个堆栈溢出问题,该问题的答案并不能完全解决我的问题: 如何在REST 中管理状态,该状态表示重要的客户端状态应在每个请求上全部转移。 ..似乎有很多开销...是这样吗?

10
无法向会话状态服务器发出会话状态请求
我们的网站目前有此问题。基本上,只有当我们单击某些特定链接时,它才会弹出一个新窗口。 这是我们收到的错误消息: 无法向会话状态服务器发出会话状态请求。 请确保已启动ASP.NET状态服务,并且客户端和服务器端口相同。如果服务器位于远程计算机上,请通过检查HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection的值来确保它接受远程请求。 如果服务器在本地计算机上,并且前面提到的注册表值不存在或设置为0,则状态服务器连接字符串必须使用“ localhost”或“ 127.0.0.1”作为服务器名称。目标网站: 无效的MakeRequest(StateProtocolVerb,System.String,StateProtocolExclusive,Int32,Int32,Int32,Byte [],Int32,Int32,SessionNDMakeRequestResults ByRef) 这是包含sessionstate标签的webconfig: <sessionState mode="StateServer" timeout="45" /> 我已经检查了ASP.NET状态服务,它当前已启动并设置为自动 我已将错误消息中所述的注册表设置为1,但仍无法正常工作。



5
我可以从HTTPModule访问会话状态吗?
我真的可以从我的HTTPModule中更新用户的会话变量,但是据我所知,这是不可能的。 更新:我的代码当前正在OnBeginRequest ()事件处理程序中运行。 更新:到目前为止收到的建议,我尝试将其添加到Init ()我的HTTPModule例程中: AddHandler context.PreRequestHandlerExecute, AddressOf OnPreRequestHandlerExecute 但是在我的OnPreRequestHandlerExecute例行程序中,会话状态仍然不可用! 谢谢,如果我错过了一些东西,我们深表歉意!

5
导致原因“会话状态已创建了一个会话ID,但无法保存它,因为响应已被应用程序刷新。”
我间歇性地遇到此故障。 我发现此链接可以很好地概括我在Google上可以找到的内容:http : //www.wacdesigns.com/2009/02/03/session-state-has-created-a-session-id-but-无法保存它,因为该响应已被应用程序刷新/ 基本上,它说您可以尝试设置Web配置设置DisplayWhenNewSession,或者通过在Session_OnStart中获取Session.SessionID来尝试激活会话状态。 但是有人吗: a)对此有一个解释 甚至更好,b)具有经过测试的修复 我意识到在执行可能会影响http响应标头的所有操作后,我无法刷新响应。如果我这样做,每次都会导致错误,但这是间歇性的。当然,SessionID应该由ASP.NET在页面响应开始时自动创建,而不是在ASPX页面或Page_Load(调用我的所有刷新的位置)之前创建。 更新:经过 反思,我意识到将文件流式传输到浏览器时会发生这种情况。大多数浏览器实际上是搜索引擎机器人。我可以通过开始下载然后关闭浏览器来重新创建此错误,因此大概是浏览器在取消下载操作之前不会等待下载完成。我在其他普通页面上也看到了这一点,但有99%的时间是下载页面。

5
如何在ASP.NET MVC中禁用会话状态?
我想要一个非常轻量级的ASP.NET MVC网站,其中包括删除尽可能多的常规HttpModules并禁用会话状态。但是,当我尝试执行此操作时,出现以下错误: The SessionStateTempDataProvider requires SessionState to be enabled. 我在web.config中禁用了会话状态: <sessionState mode="Off" /> 我知道ASP.NET MVC使用TempData的会话状态,但是我不需要/想要TempData-我只想禁用会话状态。救命!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.