首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重新启用导致IIS挂起的ASP.NET会话

重新启用导致IIS挂起的ASP.NET会话
EN

Stack Overflow用户
提问于 2010-12-31 00:16:04
回答 2查看 900关注 0票数 0

我正在尝试在客户的web服务器上实现一些失败的安全机制,该服务器运行着他们最重要的两个站点(IIS7上的ASP.NET)。我将设置应用程序池限制,以便如果任何w3wp进程使用90%+ CPU超过一分钟,它将被终止(对任何访问者产生临时的503服务不可用消息),并且基于我的本地测试将在一分钟内重新启动-这比让一个占用CPU的进程在任何时间长度内使整个服务器停机要好得多。

这似乎是有效的,但是在我摆弄本地IIS7实例的过程中,我注意到如果一个请求调用我的"Kill.aspx",即使站点重新启动,IIS也不会为导致它挂起的会话提供服务。我只能从不同的会话重新启动测试站点-但一旦我清除了“杀手级”浏览器上的cookies,我就可以再次访问该站点。

在大多数情况下,如果排泄物击中风扇,这将是编码/配置错误,而不是用户当时碰巧请求页面的错误。

因此,我想关闭这个功能,因为理论上的用户不知道他们需要清除他们的cookies才能再次访问网站。我真的很感激任何关于这是如何可能的想法。

EN

回答 2

Stack Overflow用户

发布于 2010-12-31 00:43:54

您应该使用ASP.Net会话StateServer,而不是进程内(有关详细信息,请参阅msdn )。这样,您会话将在不同的进程中运行,不会受到IIS崩溃的影响。

票数 1
EN

Stack Overflow用户

发布于 2010-12-31 00:55:12

关闭什么“功能”?如果工作进程被重置(并且您使用的是in-proc会话),那么会话在重置时就会消失。

您可能希望研究将会话存储移动到状态服务器或其他进程外场景。

此外,您可能希望将应用程序池设置为使用多个工作进程(也称为:网络花园),这样,如果一个进程被终止,其他进程将继续提供内容。

接下来,作为另一种选择,您可能希望设置多个web服务器并对它们进行负载均衡。

最后,您可能想要分析应用程序,以确切地了解它们是如何导致它变得虚无的。我的猜测是,您只是用这个想法掩盖了许多代码问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4564222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档