Asp.net 尝试使Web方法异步

Asp.net 尝试使Web方法异步,asp.net,web-services,session-state,webmethod,Asp.net,Web Services,Session State,Webmethod,我目前正在从事的项目涉及使用会话变量的MS SQL Server和ASP.net Web服务。显然,这会导致客户端的调用按顺序执行。我想确保这些方法是异步执行的 在做了一些研究之后,我觉得最合适的方法是使用一个跟踪会话的表(使用guid)和每个会话的单独表在数据库中持久化会话状态 在我直接深入讨论这个问题之前,我需要知道如果我将SQLServer配置为存储会话,是否可以获得与web服务相同的异步操作感 我可以吗?很抱歉这么说,但是异步执行代码和使用会话变量的唯一方法是创建完全自定义的会话解决方案

我目前正在从事的项目涉及使用会话变量的MS SQL Server和ASP.net Web服务。显然,这会导致客户端的调用按顺序执行。我想确保这些方法是异步执行的

在做了一些研究之后,我觉得最合适的方法是使用一个跟踪会话的表(使用guid)和每个会话的单独表在数据库中持久化会话状态

在我直接深入讨论这个问题之前,我需要知道如果我将SQLServer配置为存储会话,是否可以获得与web服务相同的异步操作感


我可以吗?

很抱歉这么说,但是异步执行代码和使用会话变量的唯一方法是创建完全自定义的会话解决方案,我的意思是完全自定义并完全禁用asp.net会话

进行会话的基本技巧:

  • 您有一个与用户数据连接的cookie
  • 数据位于数据库的一个表中
  • 您可以为每个会话在该表上创建自定义字段,并避免使用字典来保存它们
  • 您使用的是脏读,最后一次写入获胜
  • 每次只读取和写入所需的会话变量(不是全部)
  • 每一行都有一个超时日期,并像MS一样使用SQL上的调度程序来删除旧会话
  • OnPreInit
    上加载会话,仅保存在
    OnUnload上有更改的内容
  • 通过完全禁用会话,您需要使用
    Mutex
    代码进行锁定,该代码现在可以正常工作,因为会话正在进行同步,但如果使用out session lock,可能会执行两次,比如新的数据库调用插入
  • 亲属:



    若要回答和回答此问题,请执行以下操作:
    是否将SQL Server配置为存储会话?
    会话仍处于锁定状态,并阻止rest请求。如果您在SQL server或其他介质上的会话没有改变工作方式,则只有保存数据的位置。

    @TWickz我已经完成了所有这些:)没有那么困难,只有几天。