无法通过webapp在MSMQ中显示队列的内容。 [英] Unable to display the contents of queue in MSMQ via webapp.
本文介绍了无法通过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屋!
查看全文