尝试使Web方法asynchronous

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

在做了一些研究之后,我认为最好的方法是使用跟踪会话(使用guid说)的表以及每个会话的单独表来保持会话状态在数据库中。

在我直接介入这个之前,我需要知道如果我configurationSQL Server来存储会话,是否可以获得Web服务的asynchronous操作。

我可以吗 ?

很抱歉地说,但是asynchronous执行你的代码和使用会话variables的唯一方法是使你完全自定义的会话解决scheme – 我的意思是完全自定义,并完全禁用asp.net会话。

基本技巧,使您的会议:

  1. 你有一个cookie与用户数据连接
  2. 数据位于数据库的一个表上。
  3. 您为每个会话在该表上创build自定义字段,并避免Dictionary <>保留它们
  4. 你使用脏读,最后写赢
  5. 您只读取和写入您每次需要的会话变​​量(不是全部在一起)
  6. 每一行都有一个超时date,并使用像MS,SQL上的sheduler删除旧的会话。
  7. OnPreInit上加载会话,只保存在OnPreInit有变化的内容
  8. 通过完全禁用会话,您需要使用Mutex代码进行locking,现在工作正常,因为会话与其他会话同步,但是会话locking可能会执行两次,例如新插入数据库调用。

相对的:

在共享相同会话的同时处理另一个networking应用时,Web应用被阻止
什么性能计数器有助于识别ASP.NET瓶颈?
完全取代ASP.Net的会话

回答和这个问题, if I configure SQL Server to store the session ? 会话仍然locking并阻止其余的请求。 如果你在SQL服务器上或其他介质上的会话不改变工作方式,只有保存的数据的地方。