扩展 ServiceHost 和服务模块层

服务模型层负责从基础通道中拉取传入消息,将其转换为应用程序代码中的方法调用,并将结果发送回调用方。 服务模型扩展修改或实现执行或通信行为以及涉及客户端或调度程序功能、自定义行为、消息和参数拦截以及其他扩展性功能的功能。

本节中

扩展客户端
描述可以截获和修改客户端运行时的接口,以及可在客户端应用程序中插入自定义扩展的类。 例如,可以执行自定义客户端消息日志记录、执行自定义消息序列化等。

扩展调度程序
描述可以截获和修改服务运行时的接口,以及可在服务应用程序中插入自定义扩展的类。 例如,可以执行自定义服务日志记录、服务端消息验证、自定义调度等。

可扩展对象
描述五个可扩展对象和 IExtensibleObject<T> 模式。 可扩展对象模式用于扩展具有新功能的现有运行时类或向对象添加新状态。 附加到可扩展对象之一的扩展名,在访问附加到公共可扩展对象的共享状态和功能过程的各个不同阶段启用行为,各可扩展对象可以访问该公共扩展对象。

使用行为配置和扩展运行时
若要在 WCF 运行时更改设置或插入扩展,请使用行为特性。 WCF 包括系统实现的用于控制遏制、实例化和大量服务及操作的其他方面的行为。 本部分介绍如何创建自己的自定义行为,以及如何使其可用于以编程方式使用,以及如何使用配置文件。

使用 ServiceHostFactory 扩展托管
介绍如何扩展System.ServiceModel.ServiceHostBaseSystem.ServiceModel.ServiceHost和使用System.ServiceModel.Activation.ServiceHostFactory类自定义主机环境。

参考文献