问题标签 [stateserver]
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.
.net - 在 ASP.NET 状态服务器上实现 DotNetOpenId 的任何示例?
我们在当前使用横向扩展的网络农场上实现了 dotopenId。我们想用 ASP.NET State Server 替换 ScaleOut,但我想知道是否有需要为 AssociationStore 和 ProviderStore 构建的接口示例。
load-balancing - 使用与 stateserver 相同的服务器的相同 asp.net 应用程序的两个版本 - 不好?
我们的网络应用程序有 2 个生产网络服务器,负载平衡以处理大量流量。
我们也有类似的测试设置。
在比较应用程序版本(测试版和实时版)的 Web.Config 时,我发现了一些令人惊讶的事情:两个池的 stateConnectionString 值相同。如果我理解正确,这意味着他们使用的是同一个状态服务器:
这是一个问题吗?(状态服务器如何不混淆两个池)?
我只是在测试服务器上遇到了奇怪的——有时是减速/错误,这就是为什么我首先要看这个的原因,但是产品池运行良好......
asp.net - Why am I losing sessions when running in StateServer mode?
I have checked the servers (Win Server 2003) application event logs for the following problem http://support.microsoft.com/kb/308097 which doesn't show up. It just appears that sessions drop randomly for random users
It's a single server setup, no web farms and no load balancing
Even though the issue I point to above doesn't occur in the logs, is it worth increasing the stateNetworkTimeout attribute anyway? The configuration at the moment is simply
#xA;UPDATES:
Using FormsAuth and the Timeout is set to 60
IIS6 Settings
- Recycle worker processes (in minutes) = 120
- Recycle worker processes (number of requests) = 35000
- Recycle worker processes at the following times = Unchecked
- Maximum virtual memory = Unchecked
- Maximum used memory = Unchecked
- Shutdown worker processes after being idle = 90
- Limit the kernel request queue = 1500
- Everthing else = Unchecked
asp.net - 使用 ASP.NET 会话状态服务器(而不是 InProc)的优缺点?
在我开始使用会话状态服务器以使我的应用程序中的会话状态与 InProc 状态相比更加健壮之前,我想找到一个优缺点列表进行评估。
更新 1:还有关于生存的应用程序池回收吗?
更新 2:会话的寿命和结束时间如何?
asp.net - StateServer 不允许 WCF 返回的类型存储在会话变量中
我正在从 1.1 Web 应用程序中调用我们的内部 WCF 服务之一,并返回一个类型,然后将其存储在会话中。
返回的类型包含页面的数据,当页面呈现时,我收到以下消息:
“无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用非可序列化对象或 MarshalByRef 对象。
我不明白为什么我不能将从服务返回的类型存储到会话变量中。
如果我将配置更改为“InProc”,那么它可以工作。
感谢您的反馈。
asp.net - webfarm场景中的状态服务器?
这是关于状态服务器的一个相当基本的问题,但假设负载均衡器后面有 2 台服务器。如何配置会话状态服务器?
所以,我有 machine1 和 machine2。我假设我只需要在一台机器上安装状态服务器,然后使用内部 IP 来引用那台机器。它是否正确?相反,我不会在两台机器上安装状态服务器。
asp.net - 如何在 ASP.NET 中跨多个 Web 应用程序维护相同的会话 ID
我在 IIS 上的不同虚拟目录上设置了两个相同的应用程序(我已经做了一些解决方法以确保它们都具有相同的应用程序名称)。有没有办法在两个 asp.net Web 应用程序之间共享会话 ID?
由于我将会话存储在 StateServer 中,因此它们都应该获得相同的会话数据,但是,每次我从应用程序 a 转到应用程序 b 时,都会创建不同的会话 ID。这不会在负载平衡场景中发生吗?当我去 www.test.com 时,它会将该请求重定向到服务器 a,然后如果我再次点击它,它将转到服务器 b,但由于它是一个不同的 Web 应用程序,它会创建一个新的会话 ID ?
c# - 为什么我不能使用 StateServer 在 2 个 Web 应用程序之间共享会话状态?我错过了什么?
我无法让 2 个相同的 ASP.NET MVC 应用程序使用 Session StateServer 共享相同的 Session。我尝试这样做的原因是我们最终将在需要共享相同状态的 3 个 Web 服务器上部署此应用程序。我们需要使用 StateServer,因为我们试图将 db 用于非数据相关存储的最小化。
设置:
我已经将相同的代码库部署到http://localhost/ App1和http://localhost/ App2
两者都有相同的 Web.Config 文件,内容如下:
考试:
我将以下内容放入我的一个控制器中以测试它是否正常工作:
考虑到这一点:
结果:
对于这两种部署,当页面首次加载时,我可以看到模式是 StateServer 并且时间戳设置为与实时值相同的时间。但是,如果这有效,则只有第一页应该与实时值。第二个页面加载应从 StateServer 读取,因为该时间戳值不再为空,并显示该时间值。但相反,它再次显示实时值。
当我刷新页面时,时间戳保持不变,实时值始终在更新。这表明时间戳正在保存到 Session,但两个部署的时间戳值在应该相同时总是不同的,因此这表明 Session 没有被共享。
有人可以指出我做错了什么,或者我需要做些什么才能让它工作吗?谢谢
asp.net - StateServer (aspnet_state.exe) 是否应该在会话结束时释放 RAM?
我注意到 StateServer 服务只会增加内存使用量。
当用户注销时,会话以以下方式结束:
我假设 StateServer 然后会释放一些内存,但它实际上会消耗更多。
在web.config
我将超时设置为 20 分钟。会话在 20 分钟没有活动后会超时,但 StateServer 不会在它们这样做时释放任何内存。
这是正常行为吗?
asp.net - 突然收到“无法向会话状态服务器发出会话状态请求”
设置:2 个 Web 服务器和一个单独的状态服务器
我有两个负载平衡配置的生产 Web 服务器。他们托管的 ASP.NET Web 应用程序使用其 web.configs 中的这一行共享状态(如网络农场):
9.9.9.9 是运行 asp.net 会话状态服务的机器的 IP(好吧,它真的不是 9.9.9.9,为了保护无辜而更改)。它是第三台机器(实际上是数据库服务器。
它工作得很好,直到...
错误:网站宕机!
突然网站宕机了,只显示一个通用的 asp.net 错误页面(“关闭自定义错误以查看此错误”或其他任何内容)。
该应用程序的日志记录了实际的错误消息:
发生未处理的异常 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State 服务已启动并且客户端和服务器端口相同。如果服务器在远程机器上,请通过检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection 的值来确保它接受远程请求。如果服务器在本地机器上,并且如果前面提到的注册表值不存在或设置为 0,则状态服务器连接字符串必须使用“localhost”或“127.0.0.1”作为服务器名称。
因此,Web 应用程序似乎无法联系状态服务器(9.9.9.9)。
我“尝试转动如果 auf 然后 onnegen” - 重新启动状态服务器解决了问题。
为什么?
我真的很想知道发生了什么以及为什么这样我可以防止它再次发生。
到目前为止,我只有两个理论:
大约在那个时候,在状态服务器上应用了对 .net 框架 4 的 Windows 更新。那么也许更新对 asp.net 状态服务有影响?Windows 事件查看器显示 .net 4 已经记录了一个警告:
对 IIS 元数据库的更新被中止,因为 IIS 未安装或在此计算机上被禁用。要将 ASP.NET 配置为在 IIS 中运行,请安装或启用 IIS 并使用 aspnet_regiis.exe /i 重新注册 ASP.NET。
prod网站和状态服务器之间的某种临时网络问题?不过,它们确实在同一个物理机架中彼此相邻。
???任何其他想法,有人吗?
任何人以前见过这个,或者能够纠正我的任何事情?