无法通过webapp在MSMQ中显示队列的内容。 [英] Unable to display the contents of queue in MSMQ via webapp.

查看:80
本文介绍了无法通过webapp在MSMQ中显示队列的内容。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello,
Below is the code I have written to display the contents of an MSMQ queue. It works fine in case of winforms. But When i create a web application, Though the queue has some data, Nothing is displayed.
Can u help me..?
Thanks in advance.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Messaging;
using System.Text;
using System.Windows.Forms;

namespace MSMQWebService
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]

    public class Service1 : System.Web.Services.WebService
    {
        string QueueName = ".\\Private$\\q1";


        
        [WebMethod]
        public string DisplayMessage()
        {
            bool NoMessage = true;
           MessageQueue Q1 = new MessageQueue(QueueName);
            System.Messaging.Message[] AllMessages = Q1.GetAllMessages();
            foreach (System.Messaging.Message theMessage in AllMessages)
            {
                NoMessage = false;
                byte[] data = new byte[1024];
                theMessage.BodyStream.Read(data, 0, 1024);
                string strMessage = ASCIIEncoding.ASCII.GetString(data);
                Console.WriteLine(strMessage);    
           }
          
           if (NoMessage)
            {
                MessageBox.Show("Message Queue is Empty");

            }
           return "Success";
        }
       

    }

推荐答案

\\ q1;



[WebMethod]
public string DisplayMessage()
{
bool NoMessage = true ;
MessageQueue Q1 = new MessageQueue(QueueName);
System.Messaging.Message [] AllMessages = Q1.GetAllMessages();
foreach (System.Messaging.Message theMessage in AllMessages)
{
NoMessage = false ;
byte [] data = new byte [ 1 024 ];
theMessage.BodyStream.Read(数据, 0 1024 );
string strMessage = ASCIIEncoding.ASCII.GetString(data);
Console.WriteLine(strMessage);
}

if (NoMessage)
{
MessageBox.Show( Message Queue为空);

}
return 成功;
}


}
\\q1"; [WebMethod] public string DisplayMessage() { bool NoMessage = true; MessageQueue Q1 = new MessageQueue(QueueName); System.Messaging.Message[] AllMessages = Q1.GetAllMessages(); foreach (System.Messaging.Message theMessage in AllMessages) { NoMessage = false; byte[] data = new byte[1024]; theMessage.BodyStream.Read(data, 0, 1024); string strMessage = ASCIIEncoding.ASCII.GetString(data); Console.WriteLine(strMessage); } if (NoMessage) { MessageBox.Show("Message Queue is Empty"); } return "Success"; } }


您想使用console.WriterLine()在浏览器中写入?这是错误的!

使用Response.Write()
Your want to use console.WriterLine() for writing in browser? it is wrong!
Use Response.Write()


参考此链接:

http://stackoverflow.com/questions/40296/what-is-the -best-free-tool-for-managing-msmq-queues-and-messages [ ^ ]


这篇关于无法通过webapp在MSMQ中显示队列的内容。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆