本文整理汇总了C#中System.Messaging.MessageQueue.CreateCursor方法的典型用法代码示例。如果您正苦于以下问题:C# MessageQueue.CreateCursor方法的具体用法?C# MessageQueue.CreateCursor怎么用?C# MessageQueue.CreateCursor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Messaging.MessageQueue
的用法示例。
在下文中一共展示了MessageQueue.CreateCursor方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetMessageCount
static uint GetMessageCount(MessageQueue q)
{
uint count = 0;
var cursor = q.CreateCursor();
var m = PeekWithoutTimeout(q, cursor, PeekAction.Current);
if (m != null)
{
count = 1;
while ((PeekWithoutTimeout(q, cursor, PeekAction.Next)) != null)
{
count++;
}
}
return count;
}
示例2: Main
static void Main(string[] args)
{
string serverName;
if (args.Length == 0)
{
Console.WriteLine("Assuming trasa1000 as the server name");
serverName = "trasa1000";
}
else
{
serverName = args[0];
}
string queueName = "FormatName:DIRECT=OS:" + serverName + @"\private$\TwitterRequest";
using (connection = ConnectionFactory.Create())
{
connection.Open();
cmd = new SqlCommand("FirstFriend", connection)
{
CommandType = CommandType.StoredProcedure
};
cmd.Parameters.Add("@name", SqlDbType.NVarChar, 255);
using (var q = new MessageQueue(queueName)
{
MessageReadPropertyFilter = { AppSpecific = true },
Formatter = new BinaryMessageFormatter()
})
{
var cursor = q.CreateCursor();
// first one:
var m = PeekWithoutTimeout(q, cursor, PeekAction.Current);
VerifyMessage(q, m);
// loop the rest:
while ((m = PeekWithoutTimeout(q, cursor, PeekAction.Next)) != null)
{
VerifyMessage(q, m);
}
}
}
}
示例3: Index
//
// GET: /Payment/
public ActionResult Index() {
IDictionary<PaymentModel, string> model = new Dictionary<PaymentModel, string>();
if (MessageQueue.Exists(".\\Private$\\easyTravelPaymentQueue")) {
using (MessageQueue mq = new MessageQueue(".\\Private$\\easyTravelPaymentQueue")) {
//mq.Formatter = new XmlMessageFormatter();
((XmlMessageFormatter)mq.Formatter).TargetTypes = new Type[] { typeof(PaymentModel) };
Cursor c = mq.CreateCursor();
Message[] msgs = mq.GetAllMessages();
if (msgs != null) {
foreach (Message m in msgs) {
model.Add((PaymentModel)m.Body, m.Label);
}
}
}
} else {
log.Warn("Queue \".\\Private$\\easyTravelPaymentQueue\" does not exist");
}
return View(model);
}
示例4: PeekAllMessage
public MessageInfo PeekAllMessage(StructuredQueue oQueueTemp, int myID, int MaxQuery)
{
//Message messages = null;
MessageInfo MyInfo = new MessageInfo();
try
{
MessageQueue MessageInQueue = new System.Messaging.MessageQueue(oQueueTemp.sPath, QueueAccessMode.SendAndReceive);
System.Messaging.Cursor cursor = MessageInQueue.CreateCursor();
Message m = PeekWithoutTimeout(MessageInQueue, cursor, PeekAction.Current);
Application.DoEvents();
ArrayList MyMessage = new ArrayList();
MessageInQueue.MessageReadPropertyFilter.Id = true;
MessageInQueue.MessageReadPropertyFilter.Priority = true;
MessageInQueue.MessageReadPropertyFilter.SentTime = true;
MessageInQueue.MessageReadPropertyFilter.MessageType = true;
MessageInQueue.MessageReadPropertyFilter.Label = true;
MessageInQueue.MessageReadPropertyFilter.Body = true;
MessageInQueue.BeginPeek(new TimeSpan(0, 0, 10, 0));
//MessageEnumerator msgQenum = MessageInQueue.GetMessageEnumerator2();
int index = 0;
// MyInfo.ID = MessageInQueue.GetAllMessages().Length;
if (m != null)
{
while ((m = PeekWithoutTimeout(MessageInQueue, cursor, PeekAction.Current)) != null)
//while (msgQenum.MoveNext())
{
Application.DoEvents();
if (!(index > MaxQuery))
{
// messages = msgQenum.Current;
QueueInfos QueueInfo = new QueueInfos();
//QueueInfo.ID = messages.Id;
//QueueInfo.SentTime = messages.SentTime.ToString();
//QueueInfo.Body = ReadMessageStream(messages.BodyStream);
//QueueInfo.Label = messages.Label;
//QueueInfo.Priority = messages.Priority.ToString();
//QueueInfo.MessageID = index.ToString();
//QueueInfo.Transact = oQueueTemp.bTransactional;
//QueueInfo.Queue = oQueueTemp.sQueueName;
QueueInfo.ID = m.Id;
QueueInfo.SentTime = m.SentTime.ToString();
QueueInfo.Body = ReadMessageStream(m.BodyStream);
QueueInfo.Label = m.Label;
QueueInfo.Priority = m.Priority.ToString();
QueueInfo.MessageID = index.ToString();
QueueInfo.Transact = oQueueTemp.bTransactional;
QueueInfo.Queue = oQueueTemp.sQueueName;
MyMessage.Add(QueueInfo);
}
index++;
PeekWithoutTimeout(MessageInQueue, cursor, PeekAction.Next);
}
}
MyInfo.ID = index;
MyInfo.Message = MyMessage;
}
catch {}
return MyInfo;
}