2

我使用 NetMsmqBinding 创建了一个 WCF 服务,并使用 Windows 激活服务 (WAS) 在 IIS7 中托管它。

当前(完美运行):

托管在 IIS 中:http://localhost/MyService/MyService.svc

使用服务端点地址:http://localhost/private/MyService/MyService.svc

以及对应的队列:.\private$\MyService/MyService.svc

期望(什么都不做,甚至没有错误消息):

托管在 IIS 中:http://localhost/MyService.svc

使用服务端点地址:http://localhost/private/MyService.svc

以及对应的队列:.\private$\MyService.svc

当我使用 MyService IIS 应用程序时,一切正常。但是当我尝试使用根“/”应用程序而不是“MyService”应用程序来托管服务时,相同的设置(代码、IIS 安全性、队列安全性等)没有任何作用。我在事件日志中没有收到任何错误。传入的消息只是坐在队列中。

IIS7 站点的根应用程序是否支持托管 WAS 激活的服务?

4

2 回答 2

1

我发现了一个错误,即在根目录中托管 WCF 服务(在电话上花费大量时间与 MSFT 支持),因此将它们托管在应用程序中。

例如,我在 IIS7 中托管了一个 netMsmqBinding 服务,它针对 WAS 进行了配置,并且托管在默认站点中:

http://mymachine/msmqtest/service.svc

需要调用 MSMQ 的队列名称:

“msmqtest/service.svc”

并且配置中的端点需要是:

net.msmq://mymachine/private/msmqtest/service.svc

此外,请确保您在配置中使用机器名称,而不是主机头名称或其他名称。MSMQ 在计算机之间工作,非常重要。

于 2009-03-19T19:35:11.440 回答
0

Hosting of WAS Activated Services do work rooted. I'm not 100% sure about the netMsmqBinding. the end point would need to be http://localhost/service.svc not /private though.

于 2009-03-05T22:57:06.630 回答