c# - 是否可以共享 SQL Server 数据库以在 Asp.Net Web 窗体中存储 session 状态

标签 c# asp.net sql-server session sql-session-state

我有一个使用存储在 SQL Server 中的 session 状态的 Asp.Net Web 窗体应用程序。

我已经按照这篇文章创建了这个 session 状态数据库 - 执行位于 system drive\Windows\Microsoft.NET\Framework\version\ 中的脚本 InstallSqlState.sql:

https://support.microsoft.com/en-us/help/317604/how-to-configure-sql-server-to-store-asp-net-session-state

是否有必要让另一个应用程序创建单独的数据库来存储 session 状态?

什么是最佳实践 - 将 session 状态保存在一个数据库中还是使用单独的数据库?

如果我只为两个应用程序使用一个 session 状态数据库 - 是否存在一些问题 - 也许是安全问题等?

最佳答案

理想情况下,您不应跨应用程序共享 session ,因为提供的默认脚本仅适用于一个应用程序。如果您想支持多个应用程序,您需要更改提供的不正确的代码。

如果您共享,您最终可能会遇到性能瓶颈和锁定问题。

要做到这一点,请检查此 SO Post

关于c# - 是否可以共享 SQL Server 数据库以在 Asp.Net Web 窗体中存储 session 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49423527/

相关文章:

c# - 'ValueTuple<T1, T2 >' exists in both ' System.ValueTuple .. .' and ' mscorlib ...'

javascript - 如何在 asp.net 中将值从代码隐藏传递到 .js

sql-server - 创建 Azure SQL V12 全文索引非常慢

c# - 从 xml 文件中删除独立属性

javascript - AJAX slider 控件...需要第二个标签来反射(reflect)百分比

c# - 在 C# 中将 HTML 电子邮件签名附加到纯文本电子邮件正文

sql - 数据透视表/交叉表查询 需要帮助

java - JSP项目中的JDBC SQL Server连接错误

c# - 不打开快本软件就可以读取公司文件中的数据吗?

c# - Task Parallel Library中的BlockingCollection不会自动释放底层实例的引用