0

http または https を使用するように Silverlight 用の WCF サービスを構成しようとしていますが、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>

2 番目のエンドポイントを削除すると、Cassini ですべて正常に動作します。「localhost」を検出したときに、必要に応じてクライアントが指定したサービス URL を簡単に調整できます。Silverlight アプリの URL に基づいて、既に svc URL を http または https に調整しています。これは IIS ではうまく機能しますが、Cassini では機能しません。ありがとう。

4

2 に答える 2

2

Web サーバー (Cassini) に組み込まれている Visual Studio は SSL をサポートしていません: ASP.NET 開発サーバー (別名 Cassini) は SSL をサポートしていますか?

ただし、IIS Express (ベータ版) は間もなく登場します。

于 2010-07-23T09:39:13.673 に答える
0

技術的には、VS.NETデバッガー(Cassini)を介してこれを機能させることができますが、いくつかのことを行う必要があります。

  1. コマンドラインツールまたはIISを使用して、マシンのフルネーム(つまりmymachinename)を使用して自己署名テスト証明書を生成します。
  2. 「localhost」DNSではなくmacinenameを使用したベースアドレスをWCF構成に追加します。したがって、https:// mymachinename:8020 / Services/MyWCFTestがベースアドレスになる可能性があります。
  3. 次に示すように、手順1で作成した自己署名SSL証明書をポート8020(または使用するポート)に適用します。方法:SSL証明書を使用してポートを構成する

  4. VS.NET経由でサービスを実行します。WCFテストクライアントツールを使用している場合は、ローカルでホストされているWCFサービスがHttps経由で公開されていることがわかります。

于 2011-05-25T14:51:32.017 に答える