我们正在从asp.net会话状态管理迁移到.net核心会话状态。但是数据库中的表和过程中的表是不同的。现在,.net核心只使用表,没有像asp.net会话状态那样创建任何过程,我们对过程进行了一些修改。
有没有人知道如何在.net核心中实现这一点或解决办法?
发布于 2020-10-22 15:57:58
在我看来,最简单的方法是创建一个供asp.net核心用户使用的新数据库,因为不同的应用程序不会使用相同的会话。
此外,会话在asp.net和asp.net内核中也有很大的不同。
Asp.net锁定了会话,所以只能有一个用户,而核心不能。Asp.net在请求开始时返回会话,核心只在第一次使用时获取会话(及其异步)。
Asp.net使用.net序列化的会话集合(这是一个键/对象集合),而核心会话(这是一个键/ byte[]集合)使用自定义的序列化程序。
如果您仍然想使用旧的asp.net数据库,唯一的方法就是您自己创建一个会话提供程序。
您可以创建一个继承IDistributedCache接口的新会话提供程序类,然后在应用程序中注册该类。
有关如何创建它的更多详细信息,我建议您可以参考此source codes。
https://stackoverflow.com/questions/64475213
复制相似问题