存储 ASP.NET 会话变量的最佳解决方案是什么?状态服务器还是SQL服务器?

2024-03-25

状态服务器还是SQL服务器?

  • 存储 ASP.NET 会话变量的最佳解决方案是什么?
  • 各自的优点和缺点是什么?
  • 在任何特定情况下,一个比另一个更好吗?

以下是一些关于优点/缺点的想法。 我还添加了 Microsoft Velocity 分布式缓存解决方案。

InProc 的优点

  • 最快的可用选项(全部位于内存/RAM 中)
  • 易于设置(.config 文件中不需要任何新内容..我认为这是默认行为)。
  • 我相信大多数人都使用这个。

InProc 的缺点

  • 如果网站(应用程序池)挂掉,那么所有会话信息都会丢失。
  • 在 WebFarm 场景中不起作用 -> 会话信息仅适用于每个应用程序池。
  • 不能包含非会话信息。

StateServer 的专业版

  • 在内存/RAM 中,所以它很快(但有一些网络延迟..请阅读下文),因此它可能不如 Inproc 快。
  • Web 场场景的默认配置。多个 iis 站点使用状态服务器来控制状态会话信息。

StateServer 的缺点

  • 需要将 ASP.NET StateServer 服务设置为运行。
  • StateServer 需要一些配置调整才能接受“远程 iis 机器”请求。
  • 如果 iis 请求需要在另一台联网计算机上获取/设置会话信息,则会出现一些微小的网络延迟。
  • 不能包含非会话信息。

Sql Server 的优点(作为状态服务器)

  • 即使在 iis 站点重新启动后,状态也始终保留。

Sql Server(作为状态服务器)的缺点

  • 最慢的解决方案 -> 网络延迟和硬盘延迟(因为 SQL Server 将状态存储在硬盘上/从硬盘读取)。
  • 最难设置/配置。
  • 不能包含非会话信息

Velocity(或其他分布式缓存系统)的专业版

  • 可以处理的不仅仅是会话信息 -> 对象、应用程序设置、缓存等(在我看来,这是一件非常好的事情!!)
  • 可以仅是内存或持久保存到数据库。
  • 如果一个“节点”发生故障,系统仍然可以工作。 (假设有2个以上缓存节点)

Velocity(或其他分布式缓存系统)的缺点

  • 一般花费$$$
  • 最难设置(必须安装东西,调整配置,添加额外的特殊代码)。
  • 有网络延迟(通常没什么),但如果服务正在保存数据(例如保存到 Sql Server),则可能有硬盘延迟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

存储 ASP.NET 会话变量的最佳解决方案是什么?状态服务器还是SQL服务器? 的相关文章

  • 将 Repeater Container.ItemIndex 传递给 Javascript 函数

    在 C Asp Net 中 我需要将中继器出现索引传递到 Javascript 函数中OnClientClick从 ASP 按钮按下 这是我的代码
  • 尝试将 Asp.Net Memebership 数据库部署到 SQL Azure

    我一直在尝试让 ASP net 会员服务提供商与托管在 SQL Azure 中的其余数据库配合使用 我已针对数据库运行适当的 SQL Azure 特定脚本来进行设置 这些脚本可从 Microsoft 获取 http archive msdn
  • ASP.NET Core 与现有的 IoC 容器和环境?

    我想运行ASP NET 核心网络堆栈以及MVC在已托管现有应用程序的 Windows 服务环境中 以便为其提供前端 该应用程序使用 Autofac 来处理 DI 问题 这很好 因为它已经有一个扩展Microsoft Extensions D
  • 将 jQuery 验证器规则添加到 ASP 中动态创建的元素

    我在 MVC3 项目的页面上有一些动态插入的表单字段 通常我们会在服务器端添加 jQuery 验证 但在这种情况下我们不能 UI 中的多个字段生成一个隐藏字段的值 这就是提交的内容 我们无法针对隐藏字段进行验证 因此我们必须为用户可以看到的
  • 更改中继器中链接按钮的文本

    我有一个中继器 可以显示与帖子相关的评论 我想添加一些功能 当用户单击它来自的链接时 举报此帖子 to 帖子已被标记 如何访问特定的lnkBut ton 显然 在 ItemDataBound 中 这很容易完成 但在 click 方法中 我不
  • Response.Redirect() 将绝对 URL 作为相对 URL 处理

    我有一个 net C 页面 它重定向到绝对 url 例如 Response Redirect rtsp myvideoServer com myVideoAddress mp4 ticket 1234 dt 1234 但重定向后会导致 ht
  • ASP.NET Web API 依赖注入

    我想知道是否可以在 ASP NET Web API 中进行依赖项注入 自定义构造函数 而无需使用第三方库 例如 Unity 或 StructureMap 且无需实体框架 我想要实现的是拥有一个带有构造函数的控制器 例如 public Con
  • ASP.NET AJAX 4.0 客户端数据绑定

    我在 MSDN 杂志上读到了一些有关 ASP NET AJAX 4 0 新功能的文章 主要是客户端数据绑定 我觉得 MSDN 杂志有时包含很多 营销 所以我对真正开发人员的意见很感兴趣 值得吗 您打算使用它吗 Edit 如果有人感兴趣的话
  • 静态文件不通过 IIS 提供服务,而是通过 localhost 提供服务 - ASP.NET Core 3.1 MVC 和 C#

    我是编程新手 我能够自己解决大部分问题 但这个问题超出了我的想象 我正在使用 Visual Studio 在本地运行我的应用程序 当我在 VS 中单击 IIS Express 来运行该应用程序时 该应用程序将在带有 url 的浏览器中打开h
  • 在正常运行时间较长后,服务器端 SignalR 连接失败

    我在 StackOverflow 上搜索了许多与 SignalR 连接相关的其他问题 但似乎都不适用于我的具体情况 我有一个使用 SignalR 集线器的应用程序 客户端可以使用两种方法连接到集线器 通过使用底层客户端连接到集线器的 NET
  • ASP.NET 中获取当前域的最佳方法是什么?

    我想知道在 ASP NET 中获取当前域的最佳方法是什么 例如 http www domainname com subdir http www domainname com subdir 应该产生http www domainname co
  • 在 ASP.NET 3.5 中使用 ASMX 文件的 WS-Security

    基本上 我需要设置 ASMX 文件 以便当我在浏览器中将其拉出以显示 WebMethod 规范时 Soap 标头符合以下格式
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • DateTime.Parse("2012-09-30T23:00:00.0000000Z") 始终转换为 DateTimeKind.Local

    我想解析一个表示 UTC 格式的日期时间的字符串 我的字符串表示形式包括 Zulu 时间规范 该规范应指示该字符串表示 UTC 时间 var myDate DateTime Parse 2012 09 30T23 00 00 0000000
  • 当用户再次访问同一页面时保持登录状态?

    目前我正在使用会话来登录用户 但是当我关闭浏览器并再次打开它时 我必须再次登录 你如何让用户在 2 周内保持登录状态 那么是通过cookie吗 那么您想要 在这台计算机上记住我 选项吗 这是一种与语言无关的方法 创建一个至少包含以下内容的数
  • idleTimeout 和 ShutdownTimeout 之间的区别

    我正在尝试放宽网站的会话过期策略 以便用户可以指定会话超时间隔 我需要弄清楚应该指定哪些网站相关设置 以免过多限制用户 例如 可能需要 1 天的间隔 我将使用门票来实现这一点 现在 我知道我可以在网站的 web config 文件中指定id
  • 多选复选框下拉

    我正在使用多选复选框下拉菜单 请看例子jsfiddle http jsfiddle net manthan11 qqhczbvs 6 function lstStates multiselect 选择州后 它会显示 TEXT 值并用逗号连接
  • Entity Framework Core 中的两个外键

    我在使用 Entity Framework Core 创建数据库时使用代码优先方法 我想创建两个指向同一个表的外键 我的示例显示用户表将保存用户 ID 消息表将保存接收者 ID 和发送者 ID 这意味着两个值必须指向同一个表 用户代码 pu
  • 如何将会话管理添加到简单的 Perl CGI 网页?

    我有一个简单的网页 到目前为止不需要任何登录 它是用 Perl CGI 编程的 我想知道添加会话支持以便获得登录信息的步骤 我不需要非常复杂的方法 因为网页非常简单 另外 我想要一些关于支持 Perl 会话所需的技术 库的建议 我在很多很多
  • 通过 SharpDX 渲染 Direct2D 图像时如何使用内存流而不是文件?

    设置 考虑使用给定的临时程序SharpDX http code google com p sharpdx Direct 库的托管包装器 用于渲染位图并将其保存为 PNG namespace ConsoleApplication5 using

随机推荐

  • 单个 XSLT 文件能否解决这个问题……或者……?

    下面是我的 XML 文件
  • do while 循环不能有两个 cin 语句吗?

    我只是遵循一个关于 do while 循环的简单 C 教程 我似乎已经完全复制了教程中编写的内容 但我没有得到相同的结果 这是我的代码 int main int c 0 int i 0 int str do cout lt lt Enter
  • 如何在 BigQuery 中透视表

    我正在使用 Google Big Query 并且正在尝试从公共样本数据集中获取数据透视结果 对现有表的简单查询是 SELECT FROM publicdata samples shakespeare LIMIT 10 该查询返回以下结果集
  • 如何前进到字节流中包含的压缩字节序列?

    我有一个字节流 它是多个部分的串联 其中每个部分都由一个标头和一个紧缩的字节流组成 我需要拆分此字节流部分 但标头仅包含有关未压缩形式的数据的信息 没有有关压缩数据长度的提示 因此我可以在流中正确前进并解析下一部分 到目前为止 我发现超越压
  • Rake 任务 Rails:upgrade:check 在 Windows 上不起作用。 Rails 3 升级问题

    有什么解决方案可以解决Windows上的rake任务rails upgrade check的问题吗 为了解决这个问题 我安装了这个 gem gem install POpen4 v 0 1 4 gem install win32 open3
  • 您如何组织 NInject 模块?

    NInject 的模块架构看起来很有用 但我担心它会变得有点混乱 您如何组织模块 您将它们保留在哪个组件中 您如何决定哪些接线进入哪个模块 每个子系统都有一个模块 当然 什么值得归类为 子系统 的定义取决于 在某些情况下 某些绑定的责任被推
  • 我的自定义开放图对象的自定义属性未显示在共享对话框中

    我无法获取 Android 应用程序的共享对话框中显示的自定义开放图对象的自定义属性 我创建了一个自定义对象channel在命名空间中myradio android 并定义了一个自定义属性当前歌曲标题在频道中 我还创建了一个自定义操作enj
  • 将 Marketo 表单添加到 Gatsby/JSX

    我正在尝试将 Marketo 表单添加到 Gatsby 站点中 但在将脚本注入页面的顺序方面遇到问题 当我尝试渲染下面的组件时 收到错误消息 ReferenceError MktoForms2 未定义 我尝试注释掉整个 useEffect
  • 如何在 UIMarkupTextPrintFormatter 中添加图像?

    我正在尝试使用直接 HTML 打印文件 但是 在将图像添加到打印文件中时遇到困难 如何在我要打印的 HTML 中引用项目中的图像 UIMarkupTextPrintFormatter 支持标签吗 实际上比我想象的要简单得多 NSString
  • 向 Firefox 扩展添加屏幕截图功能

    是否有跨平台方法从 Firefox 扩展中获取屏幕截图 理想情况下 我希望能够截取 dom 元素的屏幕截图 无论它在页面上是否可见 例如 var 屏幕截图 屏幕截图 document getElementById example 任何指示或
  • 在python中打印下标

    在Python 3 3中 有什么方法可以在打印时使字符串中的部分文本成为下标吗 例如H2 H 然后是下标 2 如果您只关心数字 则可以使用str maketrans https docs python org 3 library stdty
  • JSF 2 复选框和布尔值获取器

    我正在生成一个基于 web 服务的 jaxws 客户端 Jaxb 将使用 java lang Boolean 而不是原始类型生成布尔值 除此之外 它还会生成 bean 的 is 命名约定 但是 如果我尝试将布尔值 例如 isOptional
  • Axios“无法在模块外部使用 import 语句”

    我有一个 Vue js 应用程序 其中两个文件包含 import axios from axios 这些文件位于应用程序内的 src lib 中 并在第一行包含 import 语句 无论 package json 说什么 在 Github
  • Vuex - 多次调度后运行函数

    我正在创建一个应用程序 在某个时刻我需要加载一些数据 但为了让用户看不到损坏的数据 我插入了一个加载组件 目前 我在负载中放置了 setTimeout 但在某些时候 API 响应可能需要超过 1 秒 所以我想仅在所有调度完成时更新加载状态
  • Ninject 教程/文档?

    根据官方网站 http ninject org learn 了解 Ninject 的最佳地点是官方维基 http wiki github com ninject ninject在 Github 上 真的吗 作为一个初学者 我发现官方维基 h
  • 使用什么命令代替 urllib.request.urlretrieve?

    我目前正在编写一个从 URL 下载文件的脚本 import urllib request urllib request urlretrieve my url my filename 文档urllib request urlretrieve
  • 如何让Java.awt.Robot输入unicode字符? (是否可以?)

    我们有一个用户提供的字符串 其中可能包含 unicode 字符 并且我们希望机器人键入该字符串 如何将字符串转换为机器人将使用的键码 你如何做到这一点 使它也独立于java版本 1 3 gt 1 6 我们对 ascii 字符所做的工作是 c
  • gRPC / Protobuf 接口版本控制

    假设我们使用 gRCP Protobuf 来连接许多应用程序 这些应用程序是由他们自己的团队以自己的速度开发和发布的 随着时间的推移 同一应用程序将出现不同版本 例如 安装在用户 PC 上的桌面应用程序 它们在定义的界面上使用不同的版本 虽
  • WordPress 搜索栏仅输出帖子标题

    我想用 PHP 创建一个 Wordpress 搜索栏 仅显示在我网站的一页中 我正在开发一个我制作的新主题 因此 搜索栏应该只输出与搜索关键字相关的我的帖子的永久链接 标题 我现在遇到的问题是搜索输出显示 lorem ipsum 文本和侧边
  • 存储 ASP.NET 会话变量的最佳解决方案是什么?状态服务器还是SQL服务器?

    状态服务器还是SQL服务器 存储 ASP NET 会话变量的最佳解决方案是什么 各自的优点和缺点是什么 在任何特定情况下 一个比另一个更好吗 以下是一些关于优点 缺点的想法 我还添加了 Microsoft Velocity 分布式缓存解决方