在没有会话锁定的多线程请求中使用相同的会话对象

时间:2013-02-08 14:22:39

标签: c# asp.net multithreading session

在我们正在开发的asp.net Web应用程序(mvc 3,.net 4.0)中,当我们在异步操作中使用它时,我们在会话中遇到了一些问题。 (它使用Async Targeting Pack库)。 当我们为此对象创建许多异步请求时,ASP.NET会按顺序处理。这是因为asp.net会话提供程序在http请求开始时被锁定。 http://msdn.microsoft.com/en-us/library/ms178587.aspx 当MVC Controller的EnableSessionState属性设置为ReadOnly时,我们可以获得并发响应。这种解决方法对我们不起作用,因为我们需要在线程完成时在会话中存储一些数据。

我们在这里唯一需要的是一个线程安全的多任务启用的asp.net会话状态提供程序。

寻求解决方案;

1)我们应该在项目中实现“SessionStateStoreProviderBase”抽象类并实现我们自己的自定义状态管理器吗?什么是最佳实践?

2)是否有任何第三方库来实现此解决方案或任何.net内置库?

0 个答案:

没有答案