gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:46:05 26 4
gpt4 key购买 nike

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

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

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

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

    "如果同一个 session 有两个并发请求,第一个请求获得 session 信息的独占访问权。第二个请求只有在第一个请求完成后才执行。 (如果排他锁,第二个 session 也可以获得访问权限信息被释放,因为第一个请求超过了锁超时。) 如果@Page 指令中的 EnableSessionState 值设置为 ReadOnly,则对只读 session 信息的请求不会导致排他锁关于 session 数据。”

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

    最佳答案

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

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

    关于asp.net - 如何设置 ASP.NET SessionState 读写 LOCK 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204560/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com