Asp.net &引用;请求的表单身份验证失败。”;导致503服务在共享主机中不可用

Asp.net &引用;请求的表单身份验证失败。”;导致503服务在共享主机中不可用,asp.net,iis,web-config,forms-authentication,Asp.net,Iis,Web Config,Forms Authentication,我几乎绝望了。我的ASP网络网站不断崩溃,我得到503服务不可用 我正在使用hostgator共享主机。他们说,503错误是在IIS中触发的,因为该应用程序在短时间内出现超过X个错误 我无法直接访问服务器日志,但他们向我发送的内容如下: Event code: 4005 Event message: Forms authentication failed for the request. Event time: 4/11/2018 12:18:30 PM Event time (UTC):

我几乎绝望了。我的ASP网络网站不断崩溃,我得到503服务不可用

我正在使用hostgator共享主机。他们说,503错误是在IIS中触发的,因为该应用程序在短时间内出现超过X个错误

我无法直接访问服务器日志,但他们向我发送的内容如下:

Event code: 4005 
Event message: Forms authentication failed for the request. 
Event time: 4/11/2018 12:18:30 PM 
Event time (UTC): 4/11/2018 5:18:30 PM 
Event ID: 15efc898b8054a1e8aef9915b181307e 
Event sequence: 6 
Event occurrence: 1 
Event detail code: 0 

Application information: 
Application domain: /blah blah
Trust level: HG_Full 
Application Virtual Path: / 
Application Path: [somethingsomething]\httpdocs\ 


Process information: 
Process ID: 50012 


Request information: 
Request URL: [somethingsomething]/login.aspx
Request path: .../login.aspx 
我确实在网站上使用表单登录,但它从未造成任何问题。我该怎么办

现在唯一的解决办法是我打电话给他们,他们重置了应用程序池,这非常令人沮丧,因为我必须通过他们的呼叫中心

无论我做什么,我都不能让网站在登录页面上出现任何可见的错误

我已经读过其他帖子,指出我可以通过清除应用程序中的错误来隐藏global.asax中的错误,但我怀疑这是一条正确的道路

我还将authentication>forms timeout设置得非常高,现在我将其更改为30分钟-不确定这是否有任何作用,因为我可以看到生成的cookie过期日期是1969年

请帮忙

以下是托管提供商的描述:

 Per the time stamps these errors are occurring in approximately one minute intervals. Please bear in mind that after a website has hard-crashed multiple times in close succession the Rapid Fail Protection feature of IIS will be triggered which monitors your site for hard-crashes, and if a certain number of errors occur in a certain amount of time then the site will be deactivated with a 503 error message in order to protect the stability of the server. If the site hard-errors more than 5 times in 5 minutes then the website is most likely malfunctioning, or exceeding its allocated resources in the shared environment, and will need to be reviewed by a developer to determine what aspect of the site is causing the application pool to crash. 

This is an intentional configuration of the server to help ensure that no single user impacts other shared users by causing resource exhaustion issues on the server. 

默认情况下,如果应用程序池在5分钟内崩溃超过5次,您将收到503服务不可用错误

现在重要的问题是找出应用程序池崩溃的原因。这可能有多种原因,表单身份验证肯定不是其中之一。这是你能做的

  • 在发布期间,联系服务提供商并从事件查看器请求“系统”日志。您将发现以下任一错误消息
  • 为应用程序池“%1”提供服务的进程遇到与Windows进程激活服务的致命通信错误。进程id为“%2”。数据字段包含错误号

    为应用程序池“%1”提供服务的进程意外终止。进程id为“%2”。进程退出代码为“%3”

  • 一旦确定应用程序池正在崩溃,请与宿主提供商联系,确定是否可以设置规则来捕获w3wp进程的转储。分析转储将准确地告诉您应用程序中发生了什么错误
  • 有关设置崩溃规则的详细信息


    如果您有任何后续问题,请告诉我。

    非常感谢,我将用此新信息与服务提供商联系并回复您。我尚未找到解决方案,但我将答案标记为已接受,因为我认为这是调查的方式。再次感谢你!我能问你更多的问题吗?如果托管提供商的结果让我陷入复杂的事情中?当然!请随时联系:)这花了一段时间,但最终系统日志显示:“为应用程序池'mydomain.com(domain)(4.0)(pool')提供服务的进程id为'36624'的工作进程已请求回收,因为它已达到其虚拟内存限制”。这表明可能是内存泄漏,或者我希望是因为我在页面上使用了“OutputCache”。我现在设定了你认为这会有帮助吗?这可能是问题之一。我之所以这样说,是因为在您的情况下,应用程序池停止并且不回收。应用程序池回收将更改w3wp进程的pid,但将继续为请求提供服务,而不会抛出不可用的503服务。然而,除非虚拟内存有可能在5分钟内立即增加5次。我非常怀疑这会发生。所以底线是——获得w3wp进程的转储。这是找到根本原因的最好方法