问题标签 [asp.net-session]
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.
asp.net-core - 我想在多个 WAS 中始终保持 asp.net core 的登录状态
我正在 5 节点环境中开发和测试本地服务结构集群。
我使用了 Microsoft.AspNetCore.Identity。
但是,如果我尝试登录,则有 4/5 的机会无法登录页面。
我查看了文档并尝试了几件事,但它仍然不起作用。
(例如 AddIdentity、UseAuthentication、AddDistributedRedisCache、AddSession、UseSession)
使用 Microsoft.AspNetCore.Identity 时,通过 Redis Session 共享用户身份验证状态的最简单方法是什么?
c# - 在 ASP.NET Forms 和 ASP.NET Core 之间共享会话
我有一个使用 RedisSessionProvider 的现有 ASP.NET Forms Web 应用程序。这是通过 WebConfig 设置的,如下所示。
我想与 ASP.NET Core SubSite/SubApplication 分享这个。我只需添加引用并将上述内容添加到他们的 WebConfig 中,就可以与其他 ASP.NET (MVC/Forms) 子站点很好地共享它。
但是,对于 .NET Core,我不知道如何共享它。请记住,ASP.NET 表单站点的代码已冻结 3 个月,因此我们无法对其进行任何更改。
在 ASP.NET Core 应用程序中,我引用了 Microsoft.AspNetCore.DataProtection 和 StackExchange.Redis。并在 Startup.cs 中有以下代码
而且我已将 app.UseSession() 添加到 public void Configure(...)。
这确实将 cookie 重命名为与主机站点相同的名称,但它不允许我访问相同的会话存储。我猜这与 .NET 核心与 ASP.NET 中 cookie 的加密方式有关。
在不修改 Host .NET Forms 站点的情况下,我尝试做的事情是否可行?如果只有在我修改主机时才有可能(将来必须如此),我必须在那里做什么?
asp.net - 如何使用会话通过 MVC 验证 ASP .Net Core 2.0 中的登录(无身份验证)
我使用 MVC 5 No authentication 模板创建了一个登录表单并与 MS-SQL 本地服务器连接,现在我需要使用会话验证登录状态。我尝试浏览它,但找不到最佳解决方案。所以请有人帮我确定最佳解决方案。
c# - 获取会话状态而不从前端发送 HTTP 请求
使用 Reactjs + Redux + Saga 设置 ASP.NET Core。当 asp.net 核心会话过期时,它需要通知用户。但问题是通过发送 GET 请求来检查我们扩展会话的会话状态,这意味着会话将永远不会结束,除非浏览器中的选项卡将被关闭(然后 GET 请求将不会被发送)。这是会话设置Startup.cs
然后我们每 5 分钟从客户端发送一次请求以获取身份:
后端端点(_context is IHttpContextAccessor
):
所以我们从SessionExtension
. 但是可能有某种方法可以在不连接到后端的情况下获得它?
asp.net - 如何使用 JMeter 创建会话锁
我正在尝试使用具有以下设置的 JMeter 重新创建会话锁,但我仍然无法重新创建它。有人可以帮助我如何使用 JMeter 来做到这一点吗?
应用程序设置:
- 会话状态模式:SQLServer
- .Net 框架 4.5.2
我尝试过的 JMeter 测试计划:
- 第一个测试计划
- 线程组 - NumberOfThreads(用户):30,持续时间:5 分钟
- HTTP 请求
- 查看结果
- HTTP Cookie 管理器 - ASP.NET_SessionId:[值]
- HTTP 请求
- 线程组 - NumberOfThreads(用户):30,持续时间:5 分钟
- 第二次测试计划
- 30 个线程组 - NumberOfThreads(用户):1,持续时间:5 分钟
- HTTP 请求
- 查看结果
- HTTP 请求
- 30 个线程组 - NumberOfThreads(用户):1,持续时间:5 分钟
据我了解,如果您只使用一个会话同时运行多个请求,则可以重新创建会话锁。
asp.net - 如何从头开始为异步内存会话设置 SQL Server 2017
我正在迁移一个当前使用内存会话存储的应用程序,作为迁移的一部分,它的支持数据库正在升级到 SQL Server 2017,因此我热衷于用微软的新 SQL Server 异步替换进程内会话状态内存表支持(asp.net session state with sql-server in memory oltp)。但是,由于我实际上是从一个新数据库开始,文档中似乎缺少一两个步骤,而我看到的所有其他关于它的文章基本上都是 Microsoft 文章的复制/粘贴。
所以我的问题是:从没有用户数据库的空数据库服务器开始,如何正确设置 SQL Server 2017 以使用内存表进行会话状态?我尝试运行以下脚本来初始化数据库,然后运行应用程序而不对数据库进行任何进一步的更改:
当我运行应用程序时,它似乎启动正常,并且我可以看到表dbo.ASPStateTempSessions
已创建。然而,浏览第一页之后,我很快发现自己陷入了错误的海洋:
知道我做错了什么吗?
更新
我的配置web.config\system.web
如下所示:
还有用于添加会话状态 HTTP 模块的默认配置(用于异步会话支持,IIRC)。
asp.net - ASP.NET 在应用程序数据库中存储会话状态
有一个用于配置 ASP.NET 应用程序以将会话信息存储到 SQL Server 的选项:https://docs.microsoft.com/en-us/previous-versions/ms178586(v=vs.140)
但是它需要使用一些脚本创建一个新的数据库(ASPState)
我想知道是否可以选择使用应用程序数据库本身来提供会话存储,或者是否有任何硬编码要求数据库名称应该是ASPState并且唯一的选择是创建另一个数据库。
owin - owin Web 表单和常规 Web 表单之间的共享会话
我是 owin、OAuth、OpenID 连接术语的新手。我正在尝试尽可能多地学习。我使用旧版 .net Web 表单应用程序。我有 2 个网络表单应用程序。App_1 更像是仪表板/登陆页面应用程序。App_2 是具有所有功能的主应用程序。我只使用身份服务器 4 进行身份验证(不要问我为什么)。这是流程: 1) 用户使用 IS4 登录并登陆 App_1。2) 授权和业务逻辑所需的所有元数据都存储在 app_1 页面加载中的会话对象中 3) 用户然后转到 app_2。它从会话对象中检索所需的数据
以前没有 IS4 身份验证。它正在使用表单身份验证,并且会话概念运行良好。我只是将身份验证更改为 IS4,然后会话对象变为空。
我尝试了互联网上建议的各种解决方案。它没有用。我在 app_1 startup.cs 中添加了这个,但仍然失败。
注意:我在两个 Web 应用程序的 web.config 中也有相同的机器密钥。
谁能告诉我如何在这两个网络应用程序之间携带会话对象?
asp.net-core - 10 秒后 ASP.NET Core 会话超时
我的网站会话在托管环境中每十秒超时一次,但在我的本地开发环境中运行良好。我一直无法更改超时。
我什至尝试过上述配置,但它不起作用;十秒钟后它仍然超时,即使操作完成。