在我的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简单,只有一个端点。