使用ASP.NET/SQL Server丢失会话状态
|
我将ASP.NET MVC工作流配置为由负载平衡器管理的两个网站。网站使用Sql Server作为会话状态提供者,并关闭身份验证(不需要)。 现在,偶尔我似乎正在失去会话状态,我相信这是因为该请求是由替代服务器处理的,所以本质上用户是从服务器跳到服务器,这取决于负载平衡器如何看待。我并不总是在工作流程的同一阶段“丢失会话状态”,所以我相信它是与web farm配置sql server会话状态有关的。 两个应用程序使用相同的机器密钥来加密和解密存储在sql server中的会话状态。 两台服务器上的配置如下: <authentication mode="None" />
<sessionState mode="SQLServer" sqlConnectionString="{connection-string}" />
<machineKey decryptionKey="777CB456774AF02F7F1AC8570FAF31545B156354D9E2DAAD"
validationKey="89B5B536D5D17B8FE6A53CBB3CA8B8695289BA3DF0B1370BC47D362D375CF91525DDB5307D8A288230DCD4B3931D23AED4E223955C45CFF2AF66BCC422EC7ECD" />
我已经确认这在两台服务器上都是一样的,有没有我失踪的东西? 当我使用单个服务器时,这不会在我的开发环境中发生。 我害怕我受到周五蓝调的痛苦,毫无疑问,下周将会找出答案,可悲的是我不想等待! 有任何想法吗? 解决方法发现问题。当您创建希望使用Sql Server共享会话状态的应用程序时,它们需要在IIS中配置相同的ID。这是因为生成的会话ID是基于应用程序ID生成的。 (内部应用程序ID类似于LM / W3SVC / 1 这两台服务器对于IIS中的每个应用程序都有不同的ID。该决议是在“管理网站”下更改ID。高级设置“。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从经典ASP中的函数返回记录集
- asp.net – 如何在OnActionExecuting中获取当前路由信息
- asp.net-mvc-3 – 如何阻止Ninject重写自定义DataAnnotatio
- asp.net-mvc – 为什么LINQ to Entities不能识别方法’Syst
- asp.net-mvc-4 – 如何在Durandal中使用cshtml文件?
- asp.net – Web.Config转换自定义配置部分
- asp.net-mvc – System.Web.Mvc.WebViewPage.Model.get返回
- asp.net – 通配符HttpHandler不处理静态文件
- asp.net-core – 如何使用ASP.NET注册OData 5
- .Net平台开发的技术规范与实践精华
- asp.net – 获得“System.Web.Mvc.Html.MvcForm”
- asp.net-mvc-3 – FluentValidation入门问题
- asp.net-mvc – 控制器操作无法从JSON读取Guid P
- asp.net – 你的aspx页面中的内联代码是一个好习
- asp.net – 如何在gridview中只显示日期而不是da
- asp.net – 什么时候不应该使用Web服务?
- asp.net – 网站在解决方案构建后需要很长时间才
- asp.net-mvc – 如何使用ASP.NET MVC中的复选框创
- .net – 实体框架遇到的最大池大小4.3
- asp.net-web-api – 在LINQPad中使用WebAPI?
