我在尝试将 .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,但工作进程甚至无法启动。