DispatchRuntime 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
公开某些属性,这些属性用于修改默认服务行为以及附加自定义对象,而这些对象可修改将传入消息转换为对象和调度到操作的方式。 此类不能被继承。
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- 继承
-
DispatchRuntime
注解
使用 DispatchRuntime 类可修改服务或单个终结点的默认行为,或将实现自定义修改的对象插入以下一个或全部两个服务进程中:
将传入消息转换为对象并在服务对象上以方法调用形式释放这些对象。
将响应服务操作调用后收到的对象转换为出站消息。
在 Windows Communication Foundation (WCF) 中,通道和终结点调度程序是负责接受新通道、接收消息、方法调度和调用以及响应处理的服务组件。 由 ServiceHost 对象公开的每个终结点都具有一个终结点调度程序和一个关联的通道调度程序;此外,参与双工通信的每个客户端还具有用于每个回调终结点的终结点调度程序和通道调度程序。
通过 DispatchRuntime,即使在无法识别消息的情况下,您也可以为特定协定中的所有消息截获和扩展通道或终结点调度程序。 当到达的消息与协定中声明的任何消息均不匹配时,就会将该消息调度到由 UnhandledDispatchOperation 属性返回的操作。 若要截获或扩展针对特定操作的所有消息,请参见 DispatchOperation 类。
由 DispatchRuntime 类公开的调度程序扩展性主要包括以下四个方面:
调度组件可使用 DispatchRuntime 的属性和由 ChannelDispatcher 属性返回的关联通道调度程序的属性,来自定义通道调度程序接受和关闭通道的方式。 此类别包括 ChannelInitializers 和 InputSessionShutdownHandlers 属性。
可为处理的每个消息自定义消息组件。 此类别包括 MessageInspectors、OperationSelector、Operations 和 ErrorHandlers 属性。
实例组件可自定义服务类型实例的创建、生存期和处理。 有关服务对象生存期的更多信息,请参见 InstanceContextMode 属性。 此类别包括 InstanceContextInitializers 和 InstanceProvider 属性。
与安全相关的组件可使用以下属性:
SecurityAuditLogLocation 可指示写入审核事件的位置。
ImpersonateCallerForAllOperations 可控制服务是否尝试使用传入消息所提供的凭据进行模拟。
MessageAuthenticationAuditLevel 可控制是否将成功消息身份验证事件写入由 SecurityAuditLogLocation 指定的事件日志。
PrincipalPermissionMode 可控制如何设置 CurrentPrincipal 属性。
ServiceAuthorizationAuditLevel 可指定如何执行授权事件的审核。
SuppressAuditFailure 可指定是否要取消显示记录过程中出现的非关键异常。
通常,服务行为(可实现 DispatchRuntime 的对象)、协定行为(可实现 IServiceBehavior 的对象)或终结点行为(可实现 IContractBehavior 的对象)会将自定义扩展对象分配给 IEndpointBehavior 属性或将其插入集合。 然后,以编程方式或通过实现自定义 BehaviorExtensionElement 对象来将安装行为对象添加到相应的行为集合中,这样便能使用应用程序配置文件插入该行为。
属性
方法
| Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
| GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
| ToString() |
返回表示当前对象的字符串。 (继承自 Object) |