问题标签 [session-state-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 处理 IRequiresSessionState 与 IReadOnlySessionState 的 ASp.net 状态服务器?
我的朋友在这里问了一个问题
而回答他的人——写了一些有趣的东西!(没有任何证据,来源)。
当您使用进程外会话状态存储时,它会产生更大的差异。在这种情况下,如果没有接口,系统仍然会将会话数据存储在远程数据库中,即使它没有更改(系统不会跟踪会话数据是否在请求期间被修改)。当您使用 IReadOnlySessionState 接口时,将跳过回写阶段。
它在哪里说 IRequiresSessionState 将写回会话(即使已经更改。)?
任何解释都将被排除在外。
asp.net - 强制 InProc 的可序列化会话状态访问?
我过去曾听过建议在项目早期使用 SqlServer / StateServer,因此当您进行扩展时,您不会陷入使用不可序列化对象 InProc 的开发人员的陷阱,并且在稍后移动到 SqlServer / StateServer 时它会中断。
目前我们不需要使用 SqlServer 会话状态的 InProc,因为我们刚刚启动,但我们可能需要合理快速地扩展。
在使用 InProc 时,是否有人对强制可序列化对象有任何建议?也许创建一个包装器?
asp.net - 我们如何将网站的会话状态从一种状态更改为另一种状态
基本上我的问题是我有一个大约在 3 年前开发的网站,而开发时建议该网站将被互联网上的少数人使用。
但现在似乎很多用户都在访问该网站。因此,我们计划创建一个 Web 服务器农场,我们的网站有多个服务器。
开发中的主要问题是旧网站使用InProc
了会话状态,现在由于我们要升级到多个服务器,我们想要更改InProc
为Outproc
即 StateServer 会话状态。
您能否指导我进行此升级,以及如何以简单易行的方式实现它,而不是在使用会话的地方更改每个页面上的编码。
asp.net-mvc - 会话状态在 asp.net 网络场中丢失
我已经忙了几个月了。
我目前有 2 个服务器用于 1 个网站。使用轮询 dns,我发现一开始一切正常(检查它更改的网站的 ip,但我可以继续我的会话),但过了一会儿我失去了我的会话,似乎无法读取表单身份验证 cookie 并且是被丢弃。(假设)但这并不总是发生。只有某些时候。
我正在使用 iis7 共享配置,我设置了机器密钥,并且我正在使用指向其中一台服务器的 stateserver,并且我验证了 stateserver 在两台服务器上都可以正常工作。
我读了一些关于 IIS 应用程序路径的东西,但我真的不知道这是什么意思,是 webapp 的路径,还是安装 IIS 的路径?在这两种情况下,它们是相同的。
有人有什么想法吗?
session - Asp.Net State Server Service 应该在所有生产 Web 服务器中运行吗?
Asp.Net 2.0 会话状态模式 = 状态服务器并仅在所有网络服务器 web.config 中指向第一台服务器
我的怀疑
我们的项目有 6 台生产服务器。我是否需要确保 Asp.Net 状态服务器服务应该在所有 6 个 Web 服务器中运行?(或)它应该只在第一台服务器上运行?
c# - 会话模式“ServerState”不能正确处理线程中的会话
我已经实现了一些为线程内的会话状态添加值的工作。我希望这些值在线程之外可用(显然)。
当 Session State 模式为“InProc”时,添加到 Session 的信息在 Session 之外可用,没有任何问题。
但是,当会话状态模式为“StateServer”时,行为是不同的。基本上,在 Thread 中设置的值有时会持久化,有时不会持久化。这对我来说似乎是随机的。
这是重现问题的代码。
上面的代码适用于 SessionState mode="InProc",但随机:
有任何想法吗?
编辑:因此根据下面的评论,线程需要在请求(主线程)完成之前完成,否则添加到会话中的任何内容都会丢失。这是因为在主线程结束时,会话被序列化并发送到数据存储(进程外,或 SQL Server)。
mono - ubuntu 中的状态服务器
我在 ubuntu 上使用 apache2 和 mono 部署了 ASP.NET 4.0 网站。
我想使用会话状态服务器,我必须asp-state4
在终端中运行命令,以便状态服务器启动。
当我在上面运行命令时一切正常,但在运行命令后我必须保持该终端打开 -
如果我关闭该终端状态服务器将停止并且网站将无法工作。
有没有办法让状态服务器在后台运行,而不保持终端打开?
asp.net - 由线程更新的 Asp .net 会话变量未反映在 Session 中
在我的 page1.aspx 中,我使用线程从数据库生成报告。
在我的线程类的 rum 方法中,我正在更新 Hashtable 中的值,即我创建了多少页。
在我的 Page2.aspx 我正在从会话变量中读取值
当我在 InProc 模式下运行上面的代码时,一切正常,我从会话中获取更新的值。因为每件事都存储在静态变量中,并且 ht 被 Session 引用,所以它会在 session 中自动更新(不需要将 HashTable 重新分配给 session )。
但是当我在状态服务器(OutProc 模式)中运行代码时,它需要通过序列化哈希表将会话数据存储在不同的进程中。
但是即使在 Thread 完全运行之后,Total_Pages 的值也不会在 Page2.aspx 中更新。
那么是否有任何事件或方法被触发以将会话变量中的所有更新存储到 State-Server ,如果是,请告诉我。如果没有,请建议我在 page2.aspx 中获取更新值。
c# - AppFabricCacheSessionStoreProvider 和 StateServer 可以在同一个应用程序中共存吗?
我正在处理的 .NET 项目中有一些使用 StateServer 的系统。我们现在使用 Appfabric 缓存来缓存我们从 DB 获得的一些东西。这两个可以存在于同一个配置文件中吗?
我的配置文件的会话状态部分如下所示
显然,这会引发一个错误,即会话状态已定义并且我无法重新定义它。
直到我们用 Appfabric 缓存系统替换 StateServer 系统,这对我们来说需要一些时间(这是一个非常大的项目),我们不想打扰现有的系统。因此这个问题。
asp.net-mvc - ASP.NET MVC 3 - 自定义配置文件并在状态服务器中持久化
我们有一个继承自 ProfileBase 的自定义配置文件类。我们希望将此对象弹出到 Session 中,以消除根据请求继续检索它的需要。
我们正在使用 ASP.NET 状态服务器,并且遇到了以下异常:
在程序集“App_Code.nvrow7px, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”中键入“ProfileCommon”未标记为可序列化。
将 Serializable 添加到我们的课程并没有帮助。我假设消息中的“ProfileCommon”有点红鲱鱼,因为这不是我们类的名称,但当您将 Profiles 与 Web 项目一起使用时,它是 nmae。
将我们的自定义 Profile 对象转换为可序列化类型以“传输”进出 Session 是唯一的选择吗?
干杯