Net消息队列学习一.docx

上传人:b****8 文档编号:11171652 上传时间:2023-02-25 格式:DOCX 页数:11 大小:21.61KB
下载 相关 举报
Net消息队列学习一.docx_第1页
第1页 / 共11页
Net消息队列学习一.docx_第2页
第2页 / 共11页
Net消息队列学习一.docx_第3页
第3页 / 共11页
Net消息队列学习一.docx_第4页
第4页 / 共11页
Net消息队列学习一.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Net消息队列学习一.docx

《Net消息队列学习一.docx》由会员分享,可在线阅读,更多相关《Net消息队列学习一.docx(11页珍藏版)》请在冰豆网上搜索。

Net消息队列学习一.docx

Net消息队列学习一

表單的頂端

qeilf

博客园首页新随笔联系订阅管理

 9Posts :

:

0Stories:

:

3Comments:

:

0Trackbacks

公告

粉丝-0

关注-0

我的主页 个人资料

我的闪存 发短消息

搜索

 

 

常用链接

∙我的随笔

∙我的空间

∙我的短信

∙我的评论

∙更多链接

∙我的参与

∙我的新闻

∙最新评论

∙我的标签

随笔分类

∙Log4Net学习

随笔档案

∙2008年10月

(1)

∙2007年8月

(1)

∙2006年5月

(1)

∙2006年2月(6)

最新评论

∙1. Re:

.Net消息队列学习

(一)

∙学习啦

∙--WangKai

∙2. re:

∙FunctionDescription是什么东东,能不能把全部代码贴出来呀

∙--VIC_FORLOVE

∙3. re:

.Net消息队列学习

(一)

∙sdsdsds

∙--55

阅读排行榜

∙1. .Net消息队列学习

(一)(2580)

∙2. 利用WSDL文档在.NET平台下的WebService调用的例子(1578)

∙3. Net消息队列学习

(二)续(848)

∙4. VC++定时器(629)

∙5. Net消息队列学习

(一)续(583)

评论排行榜

∙1. .Net消息队列学习

(一)

(2)

∙2. 利用WSDL文档在.NET平台下的WebService调用的例子

(1)

∙3. UDDI

(一)(0)

∙4. 组件服务

(一)(0)

∙5. Net消息队列学习

(二)续(0)

.Net消息队列学习

(一)

 .Net消息队列学习

(一)

    下面的示例只是涉及到构建发送者,发送复杂消息等操作。

这里的复杂消息包括两种,一种是作者自己封装的一个类,获取对话框中的几个文本对话框的值。

第二种是Net中自带的类Message,t填充他的几个属性,代码如下:

 

private System.Messaging.Message setMessage()

        

{

            System.Messaging.Message msg=new System.Messaging.Message();

            msg.Label="A message lable";

            msg.Body="The message body";

            msg.TimeToBeReceived=TimeSpan.FromSeconds(4000);

            msg.UseDeadLetterQueue=true;

            return msg;

        }

        private void button1_Click(object sender, System.EventArgs e)

        

{

            MessageQueue mq;

            SendForm form=new SendForm();

            if(!

MessageQueue.Exists(@".\private$\chelei"))

            

{

                try

                

{

                    mq=MessageQueue.Create(@".\private$\chelei");

                    form.Name=this.txtname.Text;

                    form.Sex=this.txtsex.Text;

                    form.Email=this.txtemail.Text;

                    form.Address=this.txtaddress.Text;

                    mq.Send(form,"信息");

                    mq.Close();

                    MessageQueue.Delete(@".\private$\chenlei");

                }

                catch(Exception ex)

                

{

                    MessageBox.Show(ex.Message,"Warning!

");

                

                //    

                }

            }

            else

            

{

                try

                

{

                    mq=new MessageQueue(@".\private$\chenlei");

                    form.Name=this.txtname.Text;

                    form.Sex=this.txtsex.Text;

                    form.Email=this.txtemail.Text;

                    form.Address=this.txtaddress.Text;

                    mq.Send(form,"信息");

                    mq.Close();

                    MessageQueue.Delete(@".\private$\chenlei");

                }

                catch(Exception ex)

                

{

                    MessageBox.Show(ex.Message,"Warning!

");

                }

                

            }

        

        }

        private void button1_Click_1(object sender, System.EventArgs e)

        

{

            try

            

{

                MessageQueue mq;

                if(MessageQueue.Exists(@".\private$\aa"))

                

{

                    mq=new MessageQueue(@".\private$\aa");

                    mq.Send(this.setMessage());

                }

                else

                

{

                    mq=MessageQueue.Create(@".\private$\aa");

                    mq.Send(this.setMessage());

                }

                mq.Close();

                MessageQueue.Delete(@".\private$\aa");

            }

            catch(Exception ex)

            

{

                MessageBox.Show(ex.Message,"Warning!

");

            }

        }

    }

说明:

1、通过设置TimeToBeReceived属性,这个消息可以在目标队列中保存20秒。

如果没有在20秒内从这个队列中读取他,队列就会删除这条消息。

设置UseDeadLetter属性为true可以通知MSMQ在把它从目标队列中删除之前,把消息复制到"Dead-lettermessages"系统队列中

2、只有在发送消息的计算机在域模式下运行MSMQ时,才可以使用简单路径引用网络上的公共消息队列

私有队列路径表示:

.\private$\aa

公共队列路径表示:

.\aa

3、具体的SendForm类如下:

public class SendForm

    

{

        

        private string m_Name;

        private string m_Sex;

        private string m_Email;

        private string m_Address;

        public SendForm()

        

{

            //

            // TODO:

 在此处添加构造函数逻辑

            //

        }

        public SendForm(string name,string sex,string email,string address)

        

{

            this.m_Name=name;

            this.m_Sex=sex;

            this.m_Email=email;

            this.m_Address=address;

        }

        public string Name

        

{

            get

            

{

                return this.m_Name;

            }

            set

            

{

                this.m_Name=value;

            }

        }

        public string Sex

        

{

            get

            

{

                return this.m_Sex;

            }

            set

            

{

                this.m_Sex=value;

            }

        }

        public string Email

        

{

            get 

            

{

                return this.m_Email;

            }

            set

            

{

                this.m_Email=value;

            }

        }

        public string Address

        

{

            get

            

{

                return this.m_Address;

            }

            set

            

{

                this.m_Address=value;

            }

        }

    }

Net消息队列学习

(一)续

   怎样引用队列?

   方式一、

   通过简单路径引用队列

   只有在发送消息的计算机在域模式下运行MSMQ时,才可以使用简单路径引用网络上的公共消息队列。

这 样打开队列的请求首先会访问ActivteDirectory服务器来验证是否在这个队列,然后在网络中解析他的位置。

   方式二、

   通过直接路径引用队列

我们可以通过直接路径在工作组模式下引用公共或私有队列,甚至在网络断开时也可以。

当通过直接路径打开一个队列时,MSMQ不会访问ActivteDirectory服务器。

实际上这个消息会直接发送到路径所指定的队列中去。

chenlei

关注-0

粉丝-0

关注博主

0

0

0

(请您对文章做出评价)

»下一篇:

Net消息队列学习

(一)续

postedon2006-02-0416:

32chenlei阅读(2580)评论

(2)编辑收藏

评论

1745207

#1楼2006-08-1515:

3055[未注册用户]

sdsdsds

 回复 引用   

#2楼2010-01-1215:

45WangKai      

学习啦

 回复 引用 查看   

注册用户登录后才能发表评论,请登录或注册,返回博客园首页。

IT新闻:

·优谈网李瑜:

运用“草根+草根”模式突出规模化

·Facebook在社交商务中小胜Google

·如何像乔布斯一样创新

·代理商:

被谷歌中国再次欺骗对话机制没作用

·《魔兽世界:

大地的裂变》片头动画

更多IT新闻...

知识库最新文章:

让浏览器上位

数码设备发展的核心:

分离

操作系统的争斗

大数据量,海量数据处理方法总结

谈SOA服务的设计粒度

网站导航:

博客园首页 IT新闻 个人主页 闪存 程序员招聘 社区 博问

China-pub计算机图书网上专卖店!

6.5万品种2-8折!

China-Pub计算机绝版图书按需印刷服务

最简洁阅读版式:

.Net消息队列学习

(一)

Poweredby:

博客园

Copyright©chenlei

表單的底部

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1