HTTPS 上の運用環境 (.NET 4.0、IIS 7.0) で実行されている既存の ASP.NET Web アプリケーションがあります ( https://myapp.comと呼びましょう)。現在、別のサーバーにあるデスクトップ アプリケーションによって消費される新しい WCF サービスをアプリケーションに追加する必要があります。これが私がやったことです:
- 既存のプロジェクトのディレクトリ /WebServices に新しい WCF サービス (myService.svc と呼ばれる) を追加します (localhost で正常に動作します)。
- 通常どおりウェブサイトを公開します。
- 次のように Web サービスを構成
web.config
します。
構成:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="myService" behaviorConfiguration="myBehavior">
<endpoint address="https://myapp.com/Webservices/myService.svc" binding="basicHttpBinding"
bindingConfiguration="TransportSecurity" contract="myService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
私の心の中で、私は必要なことをすべてやりました。ブラウザでURL を実行すると、https://myapp.com/WebServices/myService.svc
「リソースが見つかりません」というメッセージが表示されます。再確認するために、テスト コンソール アプリケーションを作成し、同じ URL を使用して「サービス参照の追加」を試みましたが、検出に失敗しました。
私は何を間違っていますか?私は WCF の初心者であり、この問題に長く悩まされています。