【问题标题】:Can I host a WCF service with NetMsmqBinding in root "/" application of an IIS7 site?我可以在 IIS7 站点的根“/”应用程序中使用 NetMsmqBinding 托管 WCF 服务吗?
【发布时间】:2009-02-25 14:56:25
【问题描述】:

我使用 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 激活的服务?

【问题讨论】:

    标签: wcf iis iis-7 msmq was


    【解决方案1】:

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

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

    http://mymachine/msmqtest/service.svc

    需要调用MSMQ的队列名:

    “msmqtest/service.svc”

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

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

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

    【讨论】:

      【解决方案2】:

      托管 WAS 激活服务确实有根工作。我不是 100% 确定 netMsmqBinding。终点需要是 http://localhost/service.svc 而不是 /private。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-27
        • 1970-01-01
        • 2011-10-05
        • 2011-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-28
        相关资源
        最近更新 更多