如何设置ASP.NET SessionState读写LOCK超时?

2023-12-04

我有一个使用 ASP.NET 会话状态的 WCF Web 服务。 WCF 为每个请求在会话上设置读写锁。这意味着我的 Web 服务每次只能处理每个用户一个请求,这会损害我们 AJAX 应用程序的感知性能。

所以我正在尝试找到一种方法来绕过这个限制。

  • WCF 不支持使用只读锁(允许并发访问会话)。
  • 我还没有找到在处理请求期间手动释放读写锁的方法
  • 所以现在我在想可能有某种方法可以将读写锁超时设置为一些非常短的间隔,以便等待请求不需要等待很长时间。请参阅下面的粗体部分。

来自 MSDN:http://msdn.microsoft.com/en-us/library/ms178581.aspx

“如果对同一会话发出两个并发请求,则第一个请求将独占访问会话信息。第二个请求仅在第一个请求完成后执行。(如果由于第一个请求超过锁定超时而释放了信息上的独占锁,则第二个会话也可以获得访问权限。)如果 @ Page 指令中的 EnableSessionState 值设置为 ReadOnly,则对只读会话信息的请求不会导致对会话数据的独占锁定。”

...但我还没有找到任何有关此锁定超时时间是多长时间或如何更改它的信息。


我可以告诉你 httpRuntime 执行超时控制这个锁定时间,但是,该字段的文档指出此时应该终止线程。根据经验我知道这个线程不会终止并且最终会返回数据,但是会生成一个新线程来处理队列中的请求。

默认情况下,该值在 2.0 asp 之后为 110 秒,在此之前为 90 秒。我担心这种行为将来会发生变化并被“修复”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置ASP.NET SessionState读写LOCK超时? 的相关文章

  • 如何获取网络服务的状态

    如何使用 C 获取 Web 服务的状态 无论是成功完成 失败还是待处理 private void button1 Click object sender EventArgs e var url servicsURL try var myRe
  • 在哪里存储加密密钥 MVC 应用程序

    我正在使用 AES 加密 解密类 该类需要密钥值和向量值来加密和解密 MVC3 应用程序中的数据 保存记录时 我对数据进行加密 然后存储在数据库中 当我检索记录时 我在控制器中解密并将未加密的值传递给视图 我们关心的不是在数据通过网络时保护
  • VS2010和ASP.NET单元测试问题/WebHostAdapter异常

    我花了半天的时间试图让 ASP NET 单元测试正常工作 如艾伦的开发博客 http www gangleri net 2007 12 29 UnitTestingASPNetApplicationsWithVisualStudio2008
  • 如何强制 Unity 创建一个新实例?

    使用 Unity 应用程序块 当我们调用时 如何强制 Unity 配置创建对象的新实例UnityContainer Resolve
  • 在转发器内的更新面板中匹配 ID -“已包含...的定义”

    我有一个问题 为什么单独中继器中的 2 个控件如果位于更新面板中则不能具有相同的 ID 但如果它们不在更新面板中则可以共享相同的 ID 看到这段代码
  • asp.net usercontrol 中的 jquery UI 模态对话框:模态叠加仅在 UserControl 中的 Div 上

    我有一个包含 jQuery UI 对话框控件的 asp net 用户控件 一切都按预期工作 除了灰色透明覆盖层 使表单模式化 仅出现在触发对话框的表单下方的隐藏 div 上 是否可以将此覆盖定位到父 div 或者这不是正确的解决方案 我尝试
  • 如何从代码隐藏文件中的asp.net用户控件注册(调用)jQuery函数?

    如何从代码隐藏文件中的asp net用户控件注册 调用 jQuery函数 您可以使用ClientScriptManager RegisterStartupScript http msdn microsoft com en us librar
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • ASP.net 角色和项目

    EDIT 重写了我原来的问题以提供更多信息 背景信息在我的工作中 我正在为客户开发 ASP Net Web 应用程序 在我们的实现中 我们使用诸如带有 MembershipProviders 和 RoleProviders 的表单身份验证之
  • WCF/WebService:可互操作的异常处理

    我知道 WCF 会将异常转换为错误并将其作为 SOAP 消息发送回来 但我想知道这是否真正具有互操作性 我想我很难弄清楚这种可能的情况 客户端 Java 调用 WCF 服务 登录服务 服务器检查授权是否正确 用户授权失败 服务器抛出 Una
  • 在 ASP.NET 回发时保持水平和垂直滚动位置

    编码采用 ASP NET C 我有一个 gridview 有 1000 条记录 我正在内联编辑其中一行 单击 更新 时 我希望我的网格位于回发发生之前的确切 x y 位置 如果您正在考虑使用 Page 指令 MaintainScrollPo
  • 通过 JavaScript 选择 CascadingDropDown 中的项目并调用更新

    在代码隐藏中 我可以这样做来选择某些内容 Select item in first DropDownList myCascadingDropDown 1 SelectedValue itemValue 1 itemText 1 Select
  • asp.net linkbutton onclientclick 和 postback

    当我将 ASP NET LinkBut ton 与 OnClientClick 属性一起使用时 我遇到了一些奇怪的行为 ASPX
  • 是否可以通过 Windows 服务中的自托管 Web API 提供网页?

    我有一个完全正常的 TopShelf 托管 Windows 服务 我需要一个简单的服务接口 它将返回一些当前的统计信息 保存在内存中 我有一个狡猾的计划 要在服务中自托管一个网站 并且我发现 asp net API 具有自托管功能 是否有可
  • IoC比较[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 开发 ASP NET Web 应用程
  • 从 Silverlight 调用 WCF 服务

    我从 silverlight 调用本地托管的 wcf 服务 并得到以下异常 Iv 创建了一个 clientaccesspolicy xml 它位于我的主机的路由中
  • 更新到 ASP.NET Core 2.0 - 软件包与 netcoreapp2.0 不兼容

    我正在尝试更新到 NET Core 2 0 但在使用参考安装的所有软件包上都遇到这些错误 问题可能是 我正在参考netcoreapp1 0在输出中 Microsoft EntityFrameworkCore Tools DotNet 2 0
  • MVC 4 - 在局部视图中使用不同的模型

    请忍受我的noobness 我对 MVC 模式非常陌生 我正在尝试做什么 我正在为我的网站上的注册用户构建个人资料信息页面 该页面将列出有关用户的数据 例如出生日期 电话号码 订阅状态等 您明白了 我还想要一个表格让用户更改密码 电子邮件地
  • ASP.NET 中的 thread.sleep

    我正在为我的网站模拟彗星实时馈送协议 因此在我的控制器中我添加 while nothing new before timeout Thread Sleep 1000 但我注意到添加此功能后整个网站变慢了 调试后我得出结论 当我打电话时Thr
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面

随机推荐