WCF服务的托管与消费实践
1. 服务主机工厂与自定义
服务主机工厂是一个强大的工具,可用于创建自定义的服务主机。以下是一个创建服务主机的示例代码:
protected override ServiceHost CreateServiceHost(
Type serviceType, Uri[] baseAddresses)
{
var host = base.CreateServiceHost(serviceType, baseAddresses);
// 在此应用你的逻辑...
return host;
}
自定义服务主机可以包含以下操作:
- 添加标准端点或端点配置。
- 连接服务无需感知的正交特性。
- 添加启动或引导逻辑。
- 为依赖注入容器提供入口点。
2. 不同的服务托管方式
2.1 控制台主机测试
控制台主机仅适用于演示和简单测试。曾有客户因关闭控制台窗口而导致服务不可用,客户端应用抛出大量异常。在实际应用中,WCF服务应托管在更健壮的环境中。
2.2 Windows服务自托管
对于需要完全控制托管环境,或者封装和暴露长时间运行的业务流程的服务,Windows服务是一个不错的选择。电影数据库示例包含一个Windows服务项目,其中的代码实现了异常处理和未处理异常事件的捕获:
public partial class Movi
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



