如何解决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
,它将解决您的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。