问题标签 [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.

0 投票
2 回答
9288 浏览

asp.net - ASP.NET Session State Server vs. InProc Session

What is the overhead performance penalty for running Session State Server instead of InProc? Is it significant? I understand that you can restart w3wp with the state server and retain all session state - is that the only advantage over InProc?

0 投票
3 回答
630 浏览

asp.net - Asp.net 2.0 按钮单击方法在网络花园中工作不一致

我们有一个在 IIS7 上运行的 asp.net 2.0 Web 应用程序。它使用网络花园和 asp.net 状态服务器。

在页面上,有许多用户控件。在其中一个用户控件上,我们添加了对 button_click 事件的日志记录,该事件在该方法运行时会在日志中写入一行。当我们单击按钮时,它只会定期显示日志条目——表明单击按钮时事件并不总是触发。我们添加了日志记录,因为我们怀疑单击按钮时按钮单击方法并不总是在运行。我们看到的证据似乎证实了我们的怀疑。

当我们移除网络花园并将站点放回单个应用程序池时,应用程序恢复正常 - 每次都会触发按钮事件。当我们在本地开发者机器上运行应用程序时,它也能正常工作。

有没有其他人看到过这样的行为?对于我们可以采取哪些措施来缩小问题范围,有什么建议吗?

编辑:这是所要求的事件来源:

编辑#2:澄清-此设置未使用多个服务器,并且不在负载平衡器下。我们在单个服务器上使用多个 AppPool。

0 投票
2 回答
1598 浏览

c# - 为什么不要求我的 SessionIDManager 子类创建会话 ID?

我已经按照以下说明使用会话状态管理实现了一个 Web 应用程序:

http://blog.maartenballiauw.be/post/2008/01/ASPNET-Session-State-Partitioning-using-State-Server-Load-Balancing.aspx

http://en.aspnet-bhs.info/post/State-Server-Partitioning.aspx

我的 SessionIDManager 继承者包括以下代码:

我的 web.config 包含以下代码:

但是 CreateSessionID 方法永远不会被调用,因此会话 ID 不会使用适当的服务器 ID 进行修改。

有人可以告诉我发生了什么或者我可能还需要考虑文章中未提及的内容吗?

我正在使用 .NET2 和 VS2k5。

谢谢,

马特。

0 投票
1 回答
892 浏览

asp.net-mvc-2 - ASP.NET MVC 2.0 会话状态连接错误处理

我有一个使用 SQL Server 作为会话状态管理器的 MVC 2.0 站点。我试图解释一个网络错误,其中我的站点失去了与 SQL 服务器本身的连接。

出于非常基本的测试目的,我在 Global.asax 文件中使用 Application_Error(object sender, EventArgs e) 来记录错误,然后将用户转发到一般错误页面。当会话状态管理器尝试再次连接并在不能导致再次调用 Application_Error() 函数时引发异常时,会出现问题。这会导致无限循环。

有没有办法为控制器中的给定操作禁用任何连接到会话状态 SQL 服务器的尝试?

0 投票
1 回答
8916 浏览

asp.net - 在没有 IIS 的情况下安装 ASP.Net 状态服务(2.0 或更高版本)?

对于服务器场,我想在非 Web 服务器上安装 ASP.Net 状态服务以与所有 Web 服务器共享。是否可以在没有在其服务器上安装 IIS 的情况下独立安装 ASP.Net 状态服务?如果是这样,怎么做?

0 投票
1 回答
631 浏览

asp.net - 配置会话状态服务器时出错

我们在防火墙和硬件负载平衡器后面有 4 台机器。

我们正在尝试设置会话状态服务器。当我们这样做时,我们会收到以下错误:

消息:System.Net.Sockets.SocketException (0x80004005):连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能在 System.210.18.207.181:80 响应而建立连接失败。 Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)

请注意,错误消息中的 IP 地址是负载均衡器的 IP,但是当我们在服务器之间进行跟踪时,它不会通过负载均衡器。NLB 位于服务器前面(在它们和 Internet 之间),并且服务器都在同一个 LAN/子网上。

会话状态服务已启动。并且 web.config 包含以下内容:

其中 xxx.yyy.zzz.www 是 NLB 后面的服务器之一的 IP 地址。所有服务器在同一个 LAN/子网上相互通信,它们之间没有任何东西。尽管如此,异常(上图)包含负载均衡器的 IP。

任何帮助将非常感激。

0 投票
1 回答
4116 浏览

asp.net - 无法使用会话状态服务器,因为此版本的 ASP.NET 需要会话状态服务器 2.0 或更高版本

我正在将 2 个 .NET 网站从一个 Windows 2003 (IIS6) 服务器迁移到另一个。其中一个站点是 .NET 2.0,另一个是 .NET 3.5。我在全局 web.config 文件(在 C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\ 目录中)中使用 ASP.NET 会话状态的 StateServer 模式和以下设置。会话状态在旧服务器上运行良好。

但是,在从此处安装 .NET 2.0 和 .NET 3.5 SP1 框架后,我在服务器重新启动、会话超时或应用程序池刷新后第一次(每次)都收到以下错误消息。

无法使用会话状态服务器,因为此版本的 ASP.NET 需要 2.0 或更高版本的会话状态服务器。[在 System.Web.SessionState.OutOfProcSessionStateStore.MakeRequest(StateProtocolVerb 动词,字符串 id,StateProtocolExclusive ExclusiveAccess,Int32 extraFlags,Int32 超时,Int32 lockCookie, Byte[] buf, Int32 cb, Int32 networkTimeout, SessionNDMakeRequestResults& results) 在 System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem) at System.Web.SessionState.SessionStateModule System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 处 System.Web.HttpApplication 处的 .OnReleaseState(Object source, EventArgs eventArgs)。ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)]

我发现了其他 2 个具有类似症状的帖子,但是它们都没有提供有效的解决方案。

  1. 无法使用会话状态服务器....需要会话状态服务器 2.0 或更高版本。
  2. 无法使用会话状态服务器

到目前为止,我已经尝试过:

  1. 使用 aspnet_regiis -ua 后跟 aspnet_regiis -i -enable
  2. 卸载并重新安装 .NET 3.5 SP1 和 .NET 2.0
  3. 将 httpRuntime enableVersionHeader 属性显式设置为 true

注意我还在每个应用程序的 web.config 文件中设置了 MachineKey 属性,如本 MSDN 文章中所述。这是我在旧服务器上工作的东西,它与以前完全相同。

我注意到,当我只安装 .NET 2.0 时,问题完全消失了。它仅在我安装 .NET 3.5 SP1 后出现。不幸的是,其中一个应用程序的某些功能依赖于 .NET 3.5,因此不能将其卸载。

有什么想法可以诊断和解决此问题吗?

0 投票
1 回答
1722 浏览

load-balancing - WebLogic 9.2 负载均衡问题

我设置了 2 个独立的 WebLogic 9.2.1 服务器(它们是具有自己的管理服务器的托管服务器)。所以没有设置集群。它们配置有 JDBC 会话持久性。此外,每个 WebLogic 服务器都有自己的 Apache 2 前端,WebLogic 插件仅将流量转发到它们各自的 WebLogic 服务器。在 Apache 2 服务器前面,我有一个硬件负载均衡器。目前,我们正在从托管用于会话持久性的表的 Oracle 数据库中获取约束违规。

我发现硬件负载平衡器正在使用粘性 IP(因此会话也应该是粘性的)。但它让我无法理解设置中有什么问题?

WebLogic 日志:

Oracle 表定义:

谢谢!

0 投票
3 回答
6844 浏览

php - php会话在android应用程序中被破坏

我正在 android 中构建一个登录应用程序,在该应用程序中,我点击了一个 url(带有用户名和密码)到该部分它工作正常,但之后每当我点击一个 url(一旦用户通过身份验证),它什么都不返回(即错误信息如请先登录)。然而,它在非常相似的 iphone 应用程序和浏览器上运行良好。

我无法理解实际的问题是什么。服务器端是否有任何问题(即在 php 编码中)或 android 应用程序有问题。我们实际上不能责怪服务器端编码,因为它适用于相同的 iphone 应用程序和浏览器。

任何想法或帮助将不胜感激。谢谢。

0 投票
1 回答
182 浏览

asp.net - 确定要序列化的控件

This Question类似,我有一个严重依赖进程内会话的应用程序。我现在正在尝试将会话存储移动到本地状态服务器。

我收到错误:

在程序集“System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中键入“System.Web.UI.Control”未标记为可序列化。

问题是我无法确定哪个控件正在尝试序列化。

完整的异常和堆栈跟踪没有向我显示任何其他信息。

有没有办法确定要序列化的控件是什么?

使用 ASP.net、IIS7、Framework 4.0