HTTP错误503。IIS中的服务不可用?

7

我把我的 Web Api(框架4.5)发布在这个路径下:

C:\inetpub\wwwroot\MyWebAPI

在我的 IIS 中,我将这个文件夹转换为一个应用程序。
当我尝试访问此 URL http://localhost/MyWebAPI/api/client/1 时,会出现以下消息:
"服务不可用 HTTP 错误 503。服务不可用。"
为什么会这样呢?
更新:
我的应用程序池被设置为“停止”。当我启动它时,它又变回“停止”。

似乎您的网站没有运行。请在IIS中检查。IIS配置存在问题。 - dotnetstep
一个503错误并不足以诊断任何问题。您需要提供更多的细节。 - user47589
所以URL是正确的,对吧?问题肯定是IIS配置有问题,对吧? - Liev04
我们无法告诉你。 503错误并不足以诊断任何问题,您需要提供更多详细信息。 - user47589
可能会在启动时崩溃。检查事件查看器。 - Sinaesthetic
4个回答

11
我找到了解决方案:
  • 在你的机器名下的树形菜单中点击应用程序池,
  • 在右侧点击高级设置,
  • 在进程模型中将"Load User Profile"改为false,
  • 启动你的应用程序并重新启动IIS。
错误肯定会改变,在我的情况下,错误变成了这个:

"Config Error: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false"."

我在这里找到了另一个问题的解决方案: Config Error: This configuration section cannot be used at this path

耶稣基督,我的应用程序池中的用户已停止。重新启动它解决了问题。感谢您,亲切的陌生人。 - Darth Scitus
这对我来说是工作,我可以看到应用程序池已经停止,并且由于身份问题自动停止。只需要更改身份用户,就能正常工作! - undefined

1
这是一个相当古老的帖子,但我遇到了同样的问题。对我来说,解决方法是重置应用程序池用户。我正在启动网站,但应用程序池会停止。没有日志,没有任何提示。最近我不得不更改我的Windows密码,而应用程序池用户(我)仍在使用旧密码 :-)
(请注意,我的网站在旧密码下继续工作了几天,直到我执行iisreset后才出现问题)

1

以管理员身份在 PowerShell 中运行以下命令。

  1. Stop-Service -Force WAS
  2. Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • 如果上述命令不起作用,请手动删除文件。
  3. Start-Service W3SVC

0

你可以停止应用程序池,然后重新启动它,错误就会消失。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接