C#语言有很多值得学习的地方,这里我们主要介绍C# IWebMessage接口,包括介绍CWorkerThread 的实现之一是一个调用组件方法的类等方面。
C# IWebMessage接口
CWorkerThread 的实现之一是一个调用组件方法的类。这个名为CWorkerThreadAssembly 的类使用C# IWebMessage接口来定义服务和组件之间的约定。
与当前版本的 Microsoft Visual Studio?不同,C#接口可以在任何语言中显式定义,而不需要创建和编译 IDL文件。C# IWebMessage接口的定义如下:
- public interface IWebMessage
- {
- WebMessageReturn Process(string sMessageLabel, string sMessage
- Body, int iAppSpecific);
- void Release();
- }
ATL 代码中的 Process 方法是为处理消息而指定的。Process 方法的返回代码定义为枚举类型WebMessageReturn:
- public enum WebMessageReturn
- {
- ReturnGood,
- ReturnBad,
- ReturnAbort
- }
枚举的定义如下:Good表示继续处理,Bad 表示将消息写入错误队列,Abort 表示终止处理。Release 方法为服务提供了轻松清除类实例的途径。因为仅在垃圾回收的过程中才调用类实例的析构函数,所以确保所有占用昂贵资源(例如数据库连接)的类都有一个能够在析构之前被调用的方法,用来释放这些资源,这是一种非常好的构思。
【编辑推荐】