IIS7/.NET4 应用程序-如何防止死锁?

IIS7/.NET4 应用程序-如何防止死锁?

我在尝试将 .NET 4 应用程序加载到 IIS7 服务器上时遇到了问题。它有一个错误,如果它在尝试启动时被多次击中(无论是最初还是从回收站启动),它就会永久死锁。

我正在尝试找出一种方法,要么阻止流量在初始化时进入它,要么在最坏的情况下使整个过程“单线程”,这样它就永远不会同时收到两个请求。我已经运行了一个工作进程,但这不起作用。有什么想法吗?谢谢...

答案1

听起来应用程序写得很糟糕。除了查看并修复应用程序源代码外,我不知道您还能做什么。

您有权访问源代码或开发人员吗?

答案2

我尝试添加限制

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Aspnet.config

<?xml version="1.0" encoding="UTF-8" ?> <configuration>   <system.web>
    <applicationPool 
        maxConcurrentRequestsPerCPU="1"
        maxConcurrentThreadsPerCPU="0" 
        requestQueueLimit="5000" />   </system.web>
    <runtime>
        <legacyUnhandledExceptionPolicy enabled="false" />
        <legacyImpersonationPolicy enabled="true"/>
        <alwaysFlowImpersonationPolicy enabled="false"/>
        <SymbolReadingPolicy enabled="1" />
        <shadowCopyVerifyByTimestamp enabled="true"/>
    </runtime>
    <startup useLegacyV2RuntimeActivationPolicy="true" /> </configuration>

此链接

但它不起作用,仍然死锁。尝试将线程也设置为 1,但工作进程甚至无法启动。

相关内容