0

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

<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>

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

4

2 回答 2

2

内置 Web 服务器 (Cassini) 的 Visual Studio 不支持 SSL: ASP.NET 开发服务器 (aka Cassini) 是否支持 SSL?

不过,IIS Express(测试版)即将推出,确实如此。

于 2010-07-23T09:39:13.673 回答
0

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

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

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

于 2011-05-25T14:51:32.017 回答