HTTP错误503。该服务在简单的ASP.NET 4.0网站下不可用

| 我的本地笔记本电脑上发生了一件奇怪的事情:我在本地长期工作的网站没有启动... 尝试解决该问题,我已经创建了一个仅包含\'index.html \'文件的简单网站。它在ASP.NET 2.0下工作正常,但是当我将App Pool切换为使用4.0时-它停止工作。 当我在浏览器中打开网站时,它显示以下错误:   暂停服务      http错误503服务不可用。 并导致应用程序池也停止工作...在“应用程序”部分的系统事件日志中,我具有:   工作进程无法正确初始化,因此无法启动。数据是错误的。 请指教。在Google中找不到任何相关内容... :( 附言我安装了VS2010,Windows Vista x64,最近安装的更新,还安装了VS SP1 ...     
已邀请:
我必须启动为我的网站设置的应用程序池,并在出现某些错误时自动停止。
(IIS (7.5 in my case)->Application Pools->Start stopped application pool.)
    
我已经重新安装了.NET 64-很有帮助。 附言 似乎是\“ C:/windows/Microsoft.net/Framework64/v4.0.30319/ \”文件夹中的某些文件,或者我自己删除了它们(VS有时会抱怨\“ ASP.NET Temporary files \”中的文件及其删除有帮助)...可能我没有注意那些文件夹不是临时文件夹... P.P.S. 在这种情况下,为什么VS抱怨\“ C:/windows/Microsoft.net/Framework64/v4.0.30319/ \”文件夹中的文件...好的,现在很难说了。     
听起来您好像忘记了在IIS上启用.Net 4扩展。尝试在ISAPI和CGI限制中查找并启用它 http://blogs.msdn.com/b/rakkimk/archive/2007/08/17/iis7-where-is-the-web-services-extensions-option-which-was-there-in-iis6.aspx 根据评论,可能是框架的一部分被删除了,在这种情况下,最好先清理一下框架4,以重新安装它。尝试这篇博客文章,该文章对自动清理过程的工具进行了参考,网址为http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx     
在ASP.NET 2.0和4.0之间,有关应用程序启动的细微变化。例如,在ASP.NET 4.0中的Application_Start事件期间,您可能无法访问HttpContext对象。您是否有任何代码可能隐藏因此而引发的异常? 有一些问题可能会导致AppPool停止。我遇到的一个问题是,请求工作线程以外的线程上任何未处理的异常都会导致AppPool最终停止。这不是一个直接的问题,但最终它将停止。 ASP.NET运行时跟踪您的应用程序发生故障的频率以及是否违反了该阈值,从而停止了AppPool的运行,并终止了该应用程序的共享池。一个StackOverflowException或OutOfMemoryException最终将具有相同的效果,这些是严重错误,不应在您的日常生产代码中发生。 我将回顾ASP.NET 2.0和4.0之间的更改,并寻找未处理的异常。您还可以更改Visual Studio处理异常的方式(在“调试”>“异常”下进行检查),并在引发异常时中断它们,而不管是否对其进行处理,这是一种查找异常的快速但非常冗长的方法。     
我建议您检查用作站点根目录的文件夹的安全权限。工作进程启动失败,因为它无法读取此文件夹中的“ 1”。 如果要在IIS管理器中创建新的应用程序,则默认情况下,它将创建一个具有相同名称的新应用程序池。问题在于此池在名为“ 2”的新标识下运行(在“应用程序池”页面中,其一般列为“ 3”)。 在创建池之前,此标识不存在,因此该文件夹当前未授予读取访问权限,然后该工作进程由于没有访问权而失败。 如果您希望使用此身份,则可以使用站点上下文菜单中的
Edit Permissions
项并访问“安全性”选项卡,直接通过资源管理器编辑文件夹的
Security
项,或者从命令行使用诸如
icacls.exe
之类的工具(建议使用重复性)。 您也可以将池的身份更改为“ 7”或特定用户。我强烈建议不要使用
Local System
,因为它会授予太多权限,而
Local Service
还有其他限制。 注意:如果要在“安全性”对话框中添加“ 3”,则使用“高级/查找”选项时不会显示“ 11”帐户。您必须手动输入整个\“
IIS APPPOOL\\yourSiteName
\”字符串,然后单击
Check Names
按钮进行验证-如果有效,对话框将用下划线的ѭ14under替换您的文本。     
转到IIS,然后将您的Web应用程序的“应用程序池”更改为DefaultAppPool。     
我不得不更新我的网络凭据,并且没有为IIS下的应用程序更新\“ PhysicalPathCredential \”。固定的。     
我唯一的问题是应用程序池,其中显示了停止的图标。 我将我的应用程序指向另一个AppPool,它又恢复了正常工作。希望能帮助到你。     
我想在这种情况下,如果您转到IIS下的应用程序池。查找您正在其上运行网站的应用程序池。我确信它已经停止了,所以只要重启它,你就可以开始了。     
这可能是由于许多原因造成的。在我们的例子中,这是由于网站帐户设置引起的。在IIS中为网站属性错误地配置了服务帐户密码。     
aspnet-iisreg -i
,它将解决您的错误。     

要回复问题请先登录注册