【问题标题】:Multiple WCF endpoints for same service with Cassini使用 Cassini 的同一服务的多个 WCF 端点
【发布时间】:2010-07-22 19:44:58
【问题描述】:

我正在尝试为 Silverlight 配置 WCF 服务以使用 http 或 https,它适用于 IIS,但不适用于 Visual Studio (Cassini) 中内置的 Web 服务器。 web.config system.serviceModel的services部分是:

<services>
<service behaviorConfiguration="RhymeDotBehavior" name="RhymeDot.Service.Root">
    <endpoint name="RhymeDotHttp" address="" binding="basicHttpBinding"
                  bindingConfiguration="RhymeDotBinding" contract="RhymeDot.IRootService"/>
    <endpoint name="RhymeDotHttps" address="" binding="basicHttpBinding"
                  bindingConfiguration="RhymeDotBindingHttps"
                  contract="RhymeDot.IRootService">
        <identity>
             <dns value="localhost"/>
        </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>

如果我删除了第二个端点,Cassini 一切正常。如果需要,我可以在检测到“localhost”时轻松调整客户端指定的服务 url。我已经根据 silverlight 应用程序 url 将 svc url 调整为 http 或 https。这适用于 IIS,但不适用于 Cassini。谢谢。

【问题讨论】:

    标签: silverlight wcf endpoints


    【解决方案1】:

    内置 Web 服务器 (Cassini) 的 Visual Studio 不支持 SSL: Does the ASP.NET Development Server (a.k.a. Cassini) support SSL?

    不过,IIS Express(测试版)很快就会推出。

    【讨论】:

      【解决方案2】:

      您可以技术上通过 VS.NET 调试器 (Cassini) 完成这项工作,但您必须做一些事情。

      1. 通过命令行工具或 IIS 使用您的机器的全名(即 mymachinename)生成自签名测试证书。
      2. 将基地址添加到使用您的 macinename 而不是“localhost”dns 的 WCF 配置中。所以https://mymachinename:8020/Services/MyWCFTest 可能是基地址。
      3. 将第 1 步中创建的自签名 SSL 证书应用到端口 8020(或您选择使用的任何端口),如下所示:How to: Configure a Port with an SSL Certificate

      4. 通过 VS.NET 运行服务。如果您使用的是 WCF 测试客户端工具,那么您将看到本地托管的 WCF 服务通过 Https 公开。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-06
        • 2019-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多