为项目中的所有WCF服务offerendend配置单个端点?

时间:2018-10-15 02:05:11

标签: c# wcf

在我的WCF项目中,我有两个服务“产品”和“客户”。这两个服务都有单独的接口和实现.cs文件。在App.Config中,我可以看到以下内容,

      <service name="DemoProj.Services.ProductService">
    <endpoint address="" binding="basicHttpBinding" contract="DemoProj.Services.Interfaces.IProductService">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8733/Design_Time_Addresses/DemoProj/Service/ProductService/" />
      </baseAddresses>
    </host>
  </service>
  <service name="DemoProj.Services.CustomerService">
    <endpoint address="" binding="basicHttpBinding" contract="DemoProj.Services.Interfaces.ICustomerService">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8733/Design_Time_Addresses/DemoProj/Service/CustomerService/" />
      </baseAddresses>
    </host>
  </service>

当客户端使用此WCF服务时,它将同时需要“产品”和“客户”服务。

我的问题是,我将拥有更多的服务,并且App.config将会变得越来越庞大,并且具有许多终结点。在我当前的情况下,我只需要一份合同,绑定书,我的所有服务(例如产品,客户等)的地址。我只需要配置一个由我公开给客户端的所有服务共享的端点。

我知道,通过WCF设计,可以更加灵活地为提供的不同服务使用不同的配置。但就我而言,我不需要那样。我想让我的App.config简单,只有一个端点。

0 个答案:

没有答案