wcf绑定——web的替代品.配置WCF的config和app.config文件



我有一个企业应用程序,包含一个ASP。. NET web应用程序和Windows服务。它有许多"可插拔的"连接器,可以插入使用WCF的其他系统(作为客户端和/或服务器)。可插拔连接器必须在启动过程中同时加载到web应用和服务中。

如果我使用标准的WCF配置机制,我需要合并所有连接器的WCF配置,然后将其放入两个web。

理想情况下,我希望将每个连接器的WCF配置作为该连接器自己的配置文件的一部分,以便在启动时加载每个连接器时执行该连接器的WCF配置。这似乎是一种更加模块化/面向对象的方法,因为一个连接器的所有配置都集中在一个地方,并与其他配置分开。

我意识到我可以通过使用完全编程的配置来做到这一点,但我真正想做的是能够在运行时通过传递配置部分作为文本或DOM树来配置WCF。

有办法做到这一点吗?我目前使用的是。net 3.5,但对4.5也很感兴趣,因为我们很快就会转向。

Thanks in advance

我看不到允许访问基本ServiceHost以从外部源加载配置配置节的选项。

并且我无法看到你可以在运行时更新或替换系统配置(加上在web应用程序中更改配置没有意义)。

你最好的选择是建立一个类来代表你不同的配置选项,例如哪个绑定和哪个安全等等。然后可以使用序列化过程将该类保存到XML文件中。当连接器加载时,获取相关的xml并对其进行反序列化,然后使用纯代码构建服务主机/客户端通道,这应该相当容易。

参见自定义服务主机。

对于客户端,只需使用ChannelFactory。

最糟糕的选择是使用System.ServiceModel.dll中的OutOfTheBox元素类,并自己实现一半的WCF库。

最新更新