【发布时间】:2012-02-03 11:38:17
【问题描述】:
我有一个在端口 80 上侦听的自托管 WCF 服务。当我尝试连接到它时,我得到一个 503 Service Unavailable。
我的 WCF 进程正在运行,IIS 正在运行。我的 URL ACL 是正确的。控制永远不会到达我的 WCF 进程。
WCF 跟踪仅显示:
Listen at 'http://localhost/Foo/Bar/'.
Failed Request Tracing 中未显示任何内容,该功能已正确打开 -- 出现其他跟踪。 503 Service Unavailable 消息非常明确,暗示它来自内核模式,而不是用户模式。
我有turned on HTTP.SYS tracing,说明命名空间保留正确:
Attempted to add URL (http://localhost:80/Foo/Bar/) to URL
group (0xFD0000014000002E). Status: 0x0.
但后来,在同一个踪迹中,我看到了:
Request (request ID 0xF600000580000006) rejected
due to reason: UrlGroupLookupFailed.
我已经尝试了几次iisreset,但没有帮助。我也重启了电脑;同样的问题。
出了什么问题?我还能做些什么来进一步调试这个问题?
更新
如果我重命名 URL(例如,将“Foo”更改为“Fizz”),那么它可以工作。看起来某处的配置已损坏。
我在同一进程中托管了绑定到https://localhost/Foo/Bar/ 的其他服务,它们似乎工作正常。
不只是 WCF
我在使用自托管 Nancy 服务时遇到了同样的问题,下面的一位评论者报告了自托管 ServiceStack 的相同问题服务。
【问题讨论】:
-
你能发布你的 WCF 服务配置吗?您还可以在服务运行后从 IE 浏览到该服务。如果可能的话,您如何自行托管服务的代码
-
我不能轻易——现在——发布更多内容。自上次在此 PC 上运行以来,WCF 服务配置未更改。与代码相同。它也适用于其他 PC。如果我从 IE 浏览它,我会得到相同的 503 Service Unavailable。
-
您能否尝试删除您的 asp.net 临时文件,然后尝试有时这些文件不会被删除并导致此类问题。
-
不,他们没有。这与 ASP.NET 无关。但我还是做到了。没有变化。
-
嗯。把它留在周末(没有重新启动);今天早上工作正常。