深入解析WCF服务的设计、实现与托管
1. 虚拟引用 .svc 文件
在开发WCF服务时,可以虚拟引用 .svc 文件,通常建议通过配置来实现。若不这样做,就会抵消最初无需物理 .svc 文件所带来的优势。 ServiceHostingEnvironment
类允许引用其 ServiceActivations
,可以使用 Add
方法,就像在配置中使用 <connectionStrings>
设置一样。示例如下:
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="ServiceOrInterfaceName.svc" service="FullyQualifiedServiceName"/>
</serviceActivations>
</serviceHostingEnvironment>
此功能虽未赋予新的能力(除了排除一个文件),但确实带来了便利和简化。尽管包含一个单行文本文件并非巨大负担,但许多人认为其创建过程繁琐,若创建不当,服务托管将失败。由于这是一项新特性,很可能会在考试中出现,在实际应用中也值得利用。
2. 选择托管机制
服务需要宿主才能发挥价值。在选择托管机制时,既具有很大的灵活性,又存在一定的限制。可以构建一个服务,并使用以下几种方式进行托管: