Does MSMQ on Pocket PC support Acknowledgements
I have a PC sending messages using Acknowledgements set .. But when the
messages reach the client ie pocket pc ..I dont get any
Acknowledgements in the Acknowledgement queue ...
Have tried all types of Acknowledgements....Any idea on this
Thanks in advance

Acknowledgements on Pocket Pc (MSMQ)
bingbangzoom
I had few more questions
1. Specifiying the local private queues by the following format --- @".\private$\MyQueue" ----affect the sending and receiving of messages .
2) .Can i read mesages from the deadletter queue on the pocket PC.
3).The above code sends messages to the pocket pc . Here i face a problem on the device (or the Pocket Pc) if the meesages are sent when the device is offline and after 10 or 15 mins i go online ,These messages fall in to the dead letter queue on the Pocket PC as u can see i have set the following message property m.TimeToReachQueue = MessageQueue.InfiniteTimeout; which does not seem to work.Now as theAcknowledgement works , i get the Acknowledgement description or class property which has the following message "destination queue does not exist "..
what could be the reason why does the MSMQ not send these messages ....any ideas on solving this..
thanks in advance
praveen
PaulMD
This is the code on the PC application(VS 2005 .net 2.0 , c#) which sends the message:
string destQ = string.Format(@"FormatName:Direct=TCP:192.168.2...\Private$\MyQueue",
MessageQueue messageQueue = new MessageQueue(destQ);
Message m = new Message();
m.AdministrationQueue = new MessageQueue(@".\private$\Ack");
m.AcknowledgeType = AcknowledgeTypes.NegativeReceive | AcknowledgeTypes.NotAcknowledgeReachQueue | AcknowledgeTypes.NotAcknowledgeReceive | AcknowledgeTypes.PositiveArrival | AcknowledgeTypes.FullReceive | AcknowledgeTypes.FullReachQueue | AcknowledgeTypes.PositiveReceive;
m.Recoverable = true;
m.Formatter = new "My fromatter";
m.Label = "Test";
m.Body = "Test object";
m.UseDeadLetterQueue = true;
m.TimeToReachQueue = MessageQueue.InfiniteTimeout;
messageQueue.Send(m);
messageQueue.Close();
On the client Pocket pc i have used the following code for recieving messages(compactframework 2.0,c#) :
myQueue.ReceiveCompleted+=newReceiveCompletedEventHandler(MyReceiveCompleted);
myQueue.BeginReceive();
**************************************************
private static void MyReceiveCompleted(Object source, ReceiveCompletedEventArgs asyncResult)
{
try { MessageQueue mq = (MessageQueue)source;
Message m = mq.EndReceive(asyncResult.AsyncResult);
//some work
}
catch
{
//
}
finally
{
mq.BeginReceive();
}
}
Thanks ,
praveen
meravsha
Yes, it does. Please post code you’re using and describe your environment.
NikiB
Not sure that's the reason, but here's my guess: device attempts to send ACK messages to the queue named ‘Ack’ located on device itself just like you've instructed it to do in this line of code:
m.AdministrationQueue = new MessageQueue(@".\private$\Ack");
Try specifying fully qualified path to the desktop ACK queue instead.