0

現在、WCF アプリケーションが 1 つだけのソリューションがありますが、今後 2 年間でソリューションは大幅に拡大します。約70の異なるサービスです。大部分のセキュリティに Windows Identity Foundation を使用しており、SSL を使用しているものもあれば、SSL を使用していないものもあります。

アプリケーションの再構築を検討しています。複数の WCF アプリケーション (ビジネス サービス用とバックエンド サービス用など) を用意することを考えています。テストに大いに役立つと思います。

私の質問は次のとおりです。複数のパッケージを作成して展開する必要なく、複数の WCF アプリケーションを使用してソリューションを構築する方法はありますか (展開にはあまり役立ちません)。アプリケーションを再構築すると、4 つまたは 5 つの異なるサービス プロジェクトが必要になり、それぞれの app.config ファイル (運用環境での保守やアップグレードは容易ではありません)

4

1 に答える 1

0

サービス アセンブリは、WCF ホストに好きなだけ含めることができますが、名前が一意であることを確認してください。すべてのサービス dll は独自のプロジェクトを取得し、ホストはソリューション内の 1 つのプロジェクトにとどまります。次に、次のように app.config を作成します。

<services>
  <service behaviorConfiguration="serviceBehaviour" name="DLSService.DLSService">
    <endpoint address="DLSService" binding="basicHttpBinding" bindingConfiguration=""
      name="basicHttpDLS" contract="DLSService.IDLSService" />
    <endpoint binding="mexHttpBinding" bindingConfiguration="" name="mexDLS"
      contract="IMetadataExchange" />
    <endpoint address="DLSService" binding="netTcpBinding" bindingConfiguration=""
      name="netTcpDLS" contract="DLSService.IDLSService" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8000/ServicesHost/DLSService" />
      </baseAddresses>
    </host>
  </service>
  <service behaviorConfiguration="serviceBehaviour" name="RopsPreorderService.RopsPreorderService">
    <endpoint address="RopsPreorderService" binding="basicHttpBinding" bindingConfiguration=""
      name="basicHttpPreorderService" contract="PreorderService.IPreorderService" />
    <endpoint binding="mexHttpBinding" bindingConfiguration="" name="mexRopsPreorderService"
      contract="IMetadataExchange" />
    <endpoint address="PreorderService" binding="netTcpBinding" bindingConfiguration=""
      name="netTcpPreorderService" contract="RopsPreorderService.IPreorderService" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8000/ServicesHost/PreorderService" />
        <add baseAddress="net.tcp://localhost:9000/PreorderService" />
      </baseAddresses>
    </host>
  </service>      
</services>
于 2013-09-20T10:33:23.657 に答える