7

我有一个在端口 80 上侦听的自托管 WCF 服务。当我尝试连接到它时,我得到一个503 Service Unavailable.

我的 WCF 进程正在运行,IIS 正在运行。我的 URL ACL 是正确的。控制永远不会到达我的 WCF 进程。

WCF 跟踪仅显示:

Listen at 'http://localhost/Foo/Bar/'.

Failed Request Tracing中没有显示任何内容,它已正确打开 - 出现其他跟踪。该503 Service Unavailable消息非常明确,暗示它来自内核模式,而不是用户模式。

打开了 HTTP.SYS tracking,这表明命名空间被正确保留:

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服务的相同问题。

4

1 回答 1

11

又遇到了问题。用 URL ACL 到处乱逛。有几个 URL ACL 可以被认为是模棱两可的。

我有http://+:80/Foo/和。我删除了除“localhost”之外的所有内容,它开始工作。http://+:80/Foo/Bar/http://localhost:80/Foo/Bar/

不知是因为模棱两可,还是因为删除了extra导致某些东西被重置,我不知道......

于 2012-04-12T14:54:21.047 回答