我正在尝试允许用户配置 WCF 服务,包括服务侦听的 IP 和端口号。用户有一个单独的配置应用程序,允许设置这些值,但我遇到的问题是 app.config 必须定义一个端点才能创建一个新的 ServiceHost 条目......但我的端点正在在单独的配置文件中定义,然后必须在运行时以编程方式绑定。
如果我执行以下操作(基于如何以编程方式修改 WCF app.config 端点地址设置?:
m_SvcHost = new ServiceHost(this);
if (Config.ServiceEndpoint != null && Config.ServiceEndpoint != String.Empty)
{
m_SvcHost.AddServiceEndpoint(typeof(IMyService),
new BasicHttpBinding(),
Config.ServiceEndpoint);
}
m_SvcHost.Open();
该服务将侦听 app.config 中定义的 URI 和配置文件中定义的 URI。在没有定义端点的情况下,我无法找到删除原始端点或创建服务的方法。
从配置应用程序写入 app.config 不是一种选择 - 我需要以编程方式从单独的 XML 配置文件中提取配置的值....
有什么想法吗?
编辑:该服务作为 Windows 服务运行并公开一个 HTTP 端点,它没有作为托管在 IIS 中的 Web 服务运行 - 如果这完全改变了事情的话