CommunicationObject 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为系统中所有面向通信的对象(包括通道、侦听器和通道和侦听器工厂)通用的基本状态机提供通用基本实现。
public ref class CommunicationObject abstract : System::ServiceModel::ICommunicationObject
public abstract class CommunicationObject : System.ServiceModel.ICommunicationObject
type CommunicationObject = class
interface ICommunicationObject
Public MustInherit Class CommunicationObject
Implements ICommunicationObject
- 继承
-
CommunicationObject
- 派生
- 实现
注解
CommunicationObject 类为 Windows Communication Foundation (WCF) 中的所有通信对象实现 ICommunicationObject 接口。 方法实现处理参数验证、引发通知状态转换发生的事件、提供与这些状态转换关联的附加处理的方法,并确保此类状态更改协调。
构造函数
| 名称 | 说明 |
|---|---|
| CommunicationObject() |
初始化 CommunicationObject 类的新实例。 |
| CommunicationObject(Object) |
使用互斥锁初始化类的新实例 CommunicationObject ,以保护指定的状态转换。 |
属性
| 名称 | 说明 |
|---|---|
| DefaultCloseTimeout |
在派生类中重写时,获取为完成关闭操作提供的默认时间间隔。 |
| DefaultOpenTimeout |
在派生类中重写时,获取为打开操作完成提供的默认时间间隔。 |
| IsDisposed |
获取一个值,该值指示是否已释放通信对象。 |
| State |
获取一个值,该值指示通信对象的当前状态。 |
| ThisLock |
获取在状态转换期间保护类实例的互斥锁。 |
方法
| 名称 | 说明 |
|---|---|
| Abort() |
使通信对象立即从其当前状态转换为结束状态。 |
| BeginClose(AsyncCallback, Object) |
开始异步操作以关闭通信对象。 |
| BeginClose(TimeSpan, AsyncCallback, Object) |
开始异步操作以关闭具有指定超时的通信对象。 |
| BeginOpen(AsyncCallback, Object) |
开始异步操作以打开通信对象。 |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
开始一个异步操作,以在指定的时间间隔内打开通信对象。 |
| Close() |
使通信对象从其当前状态转换为关闭状态。 |
| Close(TimeSpan) |
使通信对象在指定的时间间隔内从其当前状态转换为关闭状态。 |
| EndClose(IAsyncResult) |
完成异步操作以关闭通信对象。 |
| EndOpen(IAsyncResult) |
完成异步操作以打开通信对象。 |
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| Fault() |
使通信对象从其当前状态过渡到错误状态。 |
| GetCommunicationObjectType() |
获取通信对象的类型。 |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| OnAbort() |
由于调用同步中止操作,在通信对象转换为结束状态后,在通信对象上插入处理。 |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
由于调用异步关闭操作,通信对象转换为结束状态后插入处理。 |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
由于调用异步打开操作,在通信对象转换为打开状态后,在通信对象上插入处理。 |
| OnClose(TimeSpan) |
由于调用同步关闭操作,在通信对象转换为结束状态后,在通信对象上插入处理。 |
| OnClosed() |
在将通信对象转换为结束状态期间调用。 |
| OnClosing() |
在将通信对象转换为结束状态期间调用。 |
| OnEndClose(IAsyncResult) |
在通信对象的关闭时完成异步操作。 |
| OnEndOpen(IAsyncResult) |
在打开通信对象时完成异步操作。 |
| OnFaulted() |
在通信对象由于调用同步故障操作而转换为错误状态后,在通信对象上插入处理。 |
| OnOpen(TimeSpan) |
在通信对象转换为必须在指定时间间隔内完成的打开状态后,在通信对象上插入处理。 |
| OnOpened() |
在将通信对象转换为打开状态期间调用。 |
| OnOpening() |
在将通信对象转换为打开状态期间调用。 |
| Open() |
使通信对象从创建的状态转换为打开状态。 |
| Open(TimeSpan) |
使通信对象在指定的时间间隔内从创建的状态转换为打开状态。 |
| ThrowIfDisposed() |
如果释放通信对象,则引发异常。 |
| ThrowIfDisposedOrImmutable() | |
| ThrowIfDisposedOrNotOpen() |
如果通信对象未处于 Opened 状态,则引发异常。 |
| ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |
活动
| 名称 | 说明 |
|---|---|
| Closed |
当通信对象转换为关闭状态时发生。 |
| Closing |
当通信对象转换为结束状态时发生。 |
| Faulted |
当通信对象转换为错误状态时发生。 |
| Opened |
当通信对象转换为打开状态时发生。 |
| Opening |
当通信对象转换为打开状态时发生。 |