请挂会话模块上IIS 7.5 [英] Requests hanging on Session module on IIS 7.5

查看:213
本文介绍了请挂会话模块上IIS 7.5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

随着时间的时候,在我的网站一些要求开始挂在会话模块的RequestAcquireState状态。当螺旋开始所有的请求超时,我们需要重新启动受影响的服务器上的IIS。

From time to time, some requests on my website starts to hang on the RequestAcquireState state of the Session module. When that spiral begins all requests timeout and we need to restart the IIS on the affected server.

我调查了很多,我得到的唯一结论是,不知怎的,当应用程序试图访问存储在会话用户数据的僵局正在发生的事情。

I investigated it a lot and the only conclusion I got is that somehow a deadlock is happening while the application tries to access user data stored in Session.

我能想到的解决这个问题,唯一的选择是要么减少或停止在我的应用程序中使用会话。这是definetely计划的一部分,但它会需要一段时间才可以完成的。

The only option I can think of to fix this issue is to either reduce or stop using Sessions in my application. This is definetely part of the plan, but it will take a while before we can complete that.

我们在我们的负载平衡运行6台机器与IIS 7.5,出PROC的StateServer和服务器的亲和力。

We run 6 machines with IIS 7.5, out of proc StateServer and server affinity on in our Load Balance.

如何解决此问题或修复它在所有无需拆卸会话任何提示完全?

Any hints on how to workaround this issue or fix it at all without having to remove Sessions entirely?

推荐答案

锁定机制存在。您可以开发自定义的会话模块,但你仍然需要供应商没有锁定,或者您可以开发自定义提供无锁,但你仍然需要IIS会话模块,它不是那么简单的在这一水平来实现。

Lock mechanism exist on both provider and session module (IIS Session Module). You can develop custom session module, but you still need provider without locking or You can develop custom provider without locking but you still need IIS session module and it is not so simple to implement at that level.

解决方案是<一个href=\"https://github.com/efaruk/playground/tree/master/UnlockedStateProvider\">UnlockedStateProvider [又名锁定]

The Solution is UnlockedStateProvider [aka Unlocked]

按照白兔:P(检查演示项目,它说明了一切)

Follow the white rabbit :P (Check the demo project, it explains everything.)

这篇关于请挂会话模块上IIS 7.5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆