适用于 Websphere MQ 5.3 的 C# 服务组件






2.54/5 (6投票s)
2004年10月29日
3分钟阅读

43337

871
一个 C# .NET 服务组件,封装了 MQ PUT 和 MQ GET 操作。
引言
本文将介绍构建一个 C# 服务组件所需的条件以及如何编写该组件,该组件封装了与 IBM 大型机通信的所有复杂细节。
背景
我被分配了一个新项目,需要编写一个 COM+ 程序,以使客户端(主要是 Classic ASP 和 ASP.NET)能够将我们的在线用户配置文件与 IBM 大型机上的用户存储同步。在开始项目之前,我惊讶地发现关于在 .NET 环境中编程 WebSphere MQ 的文章非常少。因此,我想在这里分享我的工作,以帮助需要使用 IBM Websphere MQ 的同行程序员节省时间和精力。
使用代码
为了使用和测试代码,您需要安装 IBM WebSphere MQ 5.3 及 CSD05 或更高版本。如果尚未安装,请将 AMQMDNET.DLL 安装到 GAC 中(通常由 WebSphere MQ 5.3 安装程序完成)。创建队列管理器、队列和通道。您可以参考 Rosi Reddy 的文章 Message Queuing by MQSeries with C# 来创建必要的 WebSphere MQ 配置。
以下是创建项目解决方案的步骤:
- 通过单击“文件”菜单上的“新建”来打开一个新项目。会出现“新建项目”对话框,然后在“项目类型”框中选择“新建 C# 项目”。在右侧选择“类库”作为模板。
- 将名称更改为 MQServicedCom 并选择所需位置。单击“确定”。
- 右键单击“引用”,然后在“添加引用”对话框中同时选择“WebSphere MQ classes for .NET”和 `System.EnterpriseServices`,然后单击“确定”。
- 将以下内容添加到 `
using
` 块中:using System.EnterpriseServices; // for ServicedComponent using System.Runtime.InteropServices; //for Class Interface using System.Diagnostics; //for Windows Event Logging using IBM.WMQAX; //for IBM Websphere MQ in .NET
- 通过单击“视图”菜单选择“类视图”,并将类名从 `Class1` 更改为 `MQServices`。
- 将接口、类和方法的所有代码添加到 `MQServices` 类中。在本例中,复制并粘贴 `MQPutMessage` 和 `MQGetMessage` 方法,以及 `IMQServices` 接口。确保所有属性,例如 `[
JustInTimeActivation()
]`,也一并复制。 - 确保 `MQServices` 类以以下方式实现 `ServicedComponent` 和 `IMQServices` 接口:
public class MQServices : ServicedComponent, IMQServices
- 通过单击“开始”、“程序”、“Microsoft Visual Studio .NET 2003”、“Visual Studio .NET 工具”来打开 Visual Studio .NET 2003 命令提示符。
- 服务组件需要具有强名称。打开命令提示符后,导航到 MQServicedCom 项目文件夹,然后键入:sn -k MQServicedComKey.snk。
- 将源文件的 AssemblyInfo.cs 复制并粘贴到您的项目的 AssemblyInfo.cs 文件中。
请注意,您应该替换 MQServices.cs 和 AssemblyInfo.cs 文件中的所有 GUID,以确保唯一性。您可以单击“工具”菜单并选择“创建 GUID”来生成新的 GUID。然后复制并粘贴新生成的 GUID 进行替换。
- 现在可以进行构建了。通过单击“生成”菜单中的“生成解决方案”来构建 `MQServicedCom` 程序集。
- 在命令提示符下,导航到构建的程序集所在的 bin 文件夹。键入:RegSvcs MQServicedCom.dll 来注册该程序集。
- 通过键入:gacutil /i MQServicedCom.dll 将其安装到 GAC 中。
大功告成。现在您拥有了一个可服务的服务组件。要验证它,请打开“组件服务管理器”。您可以在其中找到 COM+ 应用程序 MQ 服务组件库,其标题取自 AssemblyInfo.cs 文件中的 `ApplicationName` 属性。您可以使用 TestCom.vbs 文件来测试这个新创建并注册的服务组件。祝您好运,玩得开心。
关注点
以下两本书在编写企业服务组件方面对我帮助很大:
- Distributed .NET Programming in VB .NET (作者:Tom Barnaby)。
- Programming .NET Components (作者:Juval Lowy)。
历史
- 创建于 2004 年 10 月 29 日,版本 1.0.0.0。