我们使用许多(50 多个)WCF 服务主机(用 C# 编写,在 Win 2008R2/IIS 7.5 上运行)运行一个 Web 应用程序,以便与不同的外部供应商集成。我们想为这些主机中的每一个添加另一个服务以进行管理。该服务可以足够通用,我们可以在某个库中定义一个服务定义,我们可以从集成项目中引用该服务定义。但是有没有办法只在配置中实际添加端点?也就是说,我想避免添加 .svc 文件,而只在web.config
服务部分添加一些行。
我尝试将此添加到web.config
:
<service name="Contracts.AdminService">
<endpoint address="AdminService" contract="Contracts.IAdminService" binding="basicHttpBinding" />
</service>
但是,这不起作用。如果我添加一个像下面这样的简单.svc
文件,它可以工作
<%@ ServiceHost Language="C#" Debug="true" Service="Contracts.AdminService" CodeBehind="Contracts.AdminService.cs" %>
但是,我真的很想避免这种情况,这样在设置新主机时出错的可能性就会降低(我们已经用配置文件做了一堆自动的东西,所以添加一个新服务是微不足道的)。这可能吗?有什么缺点吗?