【发布时间】:2018-07-01 06:09:24
【问题描述】:
我有自托管 WCF 服务,其中包含它自己的 app.Config 以公开服务合同所需的端点。如果该服务在programs.cs main 方法中启动,则一切正常,并且元数据通过浏览器公开。但是,我基于 ServiceBase 类创建了一个 HostService 类,该类位于同一主机库中,并在 program.cs 文件中实例化。 HostService 类启动服务,并有一个计时器方法来 ping 其他客户端 Web 服务以获取信息。
我的问题是,当我创建 HostService : ServiceBase 类并从 main() 实例化它时,我必须在服务库中放置一个重复的 app.Config 文件,以便端点正确公开并返回元数据/wsdl。如果可能,我不想维护 2 个重复的 app.config 文件。目前主机库和服务库都需要一个。有没有办法只有一个主机可以同时用于两者?抱歉这个愚蠢的问题,但我是 WCF 的新手 =)
程序.cs
static void Main(string[] args){
var service = new HostService();
service.StartHostService(args);
}
HostService.cs
public partial class HostService : ServiceBase
{
internal void StartHostService(string[] args)
{
this.OnStart(args);
Console.ReadLine();
this.OnStop();
}
....
}
【问题讨论】: