您的位置:首页 > 其它

一个com+消息队列的例子

2005-04-27 15:16 309 查看
  最近在研究com+和消息队列,于是就做了个例子。

  com+和消息队列结构是:

 首先服务器端安装com+和消息队列服务器,而客户端安装com+服务的代理和消息队列服务器。

  com+和消息队列的工作过程是:

 
客户端构造成个消息放到本机的发送消息队列中,客户端发送消息队列负责发该消息发送到com+服务器上,

 com+ 服务器消息队列接受客户端的消息。com+负责侦听消息,如用消息到达,就处理。 

代码如下:

 一.  

 1.服务器端.新建类库项目ServerLibrary2

 

using System;

using System.Runtime.InteropServices;

using System.Messaging;

using System.EnterpriseServices;

using System.Windows.Forms;

using System.IO;

using System.Web;

using System.Data.SqlClient;

namespace ServerLibrary2

 

 2,  用 sn -k "路径+文件名"  生成强类型的程序集,在AssemblyInfo.cs 文件中加[assembly: AssemblyKeyFile(@"c:\key.snk")]

 2. 生成 Serverlibrary2.dll

 

 3. 注册 regsvcs serverlibrary2.dll.

 

  说明:机器上必须安装消息队列服务器。

二. 客户端 

 

   1.客户端代码

  try

   {

      //用接口调用

    ServerLibrary2.IQComponent IQC= (IQComponent)Marshal.BindToMoniker("queue:/new:ServerLibrary2.QCSimpleDemo");

                int num=0;

    num=int.Parse(this.textBox2.Text);

      

    IQC.ComplicatedFunction(num);

    Marshal.ReleaseComObject(IQC);

                MessageBox.Show("转帐成功!!");

   }

   catch (Exception ex)

   {

    MessageBox.Show(ex.Message);

   

   }

  

  说明:Marshal.BindToMoniker 是System.Runtime.InteropServices下的一个方法。它获取一个指针。

      Marshal.ReleaseComObject(IQC); 释放对象引用数

  欢迎讨论: showstrong@hotmail.com

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: