using MSMQ in CF ??

  • Thread starter Thread starter Robert Keber
  • Start date Start date
R

Robert Keber

Hello,
I ve to use Microsoft Message Queueing in a .NET Application on an PDA ?
Are there any standard wrappers for easy using ?
Has anyone experience in using MSMQ in CF ?
thanks
Robert
 
Hi,

AFAIK there is no support for MSMQ in the PocketPC platform.

Cheers,
 
Using MSMQ from CF V1 is not trivial. I'm aware of several attempts, none
completed.

To resolve this issue, CF V2 will contain System.Messaging compatible with
desktop (less features not supported by MSMQ CE).
CF V2 Beta is already available; you can evaluate it and see if it's right
for you.

Please see this for more details: http://blogs.msdn.com/ihimmar/

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
 
Hi Robert,.

In my opinion, it's not worth to spend time on the subject, since I needed
it to work in a firewalled environment aka GPRS. Msmq works over TCP/IP and
I truly believe the TCP/IP is the worst you can use in a wireless
environment. I don't feel like explaining it, would cost several a4's.
Anyhow if you REALLY want to do it here we go,

Imo it's a good practice to don't immediately go and do hard p/invoking but
i suggest you create an EVC (embedded visual c) project with simple calls.
So
the initial p/invoking isn't that hard..



look at these posts,... "first name" is me.



http://groups.google.com/groups?hl=...otnet.framework.compactframework+"first+name"



other msmq related posts,...



http://groups.google.com/groups?hl=...soft.public.dotnet.framework.compactframework



other related links:



http://www.microsoft.com/windows2000/technologies/communications/msmq/default.asp



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmqqc/html/msmqbest.asp



Summary of MSMQ Functions on Windows CE

http://msdn.microsoft.com/library/d...ml/ceconSummaryofMSMQFunctionsonWindowsCE.asp





and last but not least,.. my abandoned project,.. forgive me for any bad
coding styles,.. he at least it get you started!!



http://www.briolas.nl/Coding/cfnet/msmq.zip



Plz share your msmq code when ready with the opennetcf.org community,.. and
be so kind to remember me and give me a bit of credit as well...



Regards



Floris Briolas
 
It is possible, have got it working.

You must wrap the msmq into a cf assembly using dll import.

first we wrapped the msmq functions into an c++ dll, compiled for .net

then we used dll import on this dll from or managed application.

not sure if it is any help, just to say it is possible, but demands
some work to get all needed funtions wrapped correctly.
 
Hello!
You wrote on Tue, 24 Aug 2004 10:21:55 +0200:

FB> In my opinion, it's not worth to spend time on the subject, since I
FB> needed it to work in a firewalled environment aka GPRS. Msmq works over
FB> TCP/IP and I truly believe the TCP/IP is the worst you can use in a
FB> wireless environment. I don't feel like explaining it, would cost
FB> several a4's. Anyhow if you REALLY want to do it here we go,

Or you can check MsgConnect ( http://www.msgconnect.com/) if you need a
cross-platform message-oriented middleware solution.

With best regards,
Eugene Mayevski
 
Hi Alex,

Thanks, I already saw the other post :)

Cheers,


--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation
 
Any chance of you sharing what you've built Finn??

I need to send a message from managed code (Compact Framework) running on a
CE.Net device. I'm getting absolutely nowhere with it....

Thanks,

Jon
 
Folks,

I am a newbie to CE/CF world. I am currently working on a messaging
project that will run CE.Net ( C# under VS 2003). I need you guys help
to clear-up some of the confusions.
The most confusing aspect is regarding development paths for a CE.Net
application using MSMQ. Here is what I have understood so far and my
related questions.

1. Using System.Messaging API, but that is only available with CF 2.0.
2. With CE.Net I can use MSMQ via COM but I am not sure what exactly
need to be done to use it. Can I directly call MSMQ COM componets from
C# via inter-op
3. MSMQ C Api but not sure how can I use it from within C#.
Your suggestions in this regard will be highly appreciated.

palm
 
2. No, not really. There is no COM interop support in .NET CF 1.x.

3. Yes, you can call the plain C API via the P/Invoke capability. I'm
afraid that I don't recall the status, but someone on the OpenNETCF team did
start working on a Messaging component. You might check the source browser
and see what's there.

Paul T.
 
2. No, not really. There is no COM interop support in .NET CF 1.x.
Quote from
http://msdn.microsoft.com/library/d.../wcemsmq/html/ceconnewfeaturesfortalisker.asp

"Message Queuing provides a set of COM objects for developing Message
Queuing applications using COM development tools. The Message Queuing
COM objects provide the most common Message Queuing API functionalities
needed for developing Message Queuing applications. These include queue
lookup, queue management, message management, and queue administration.
"

Doesn't this mean that COM object are supported under CE.Net 4.2?

So are are saying that calling C API via p/invoke is the only way to
implement MSMQ under CE.Net via C# and VB.Net?
 
2. The *existence* of a COM interface doesn't mean that you can call it from
managed code! You can call it from C/C++ just fine and I've done that, but
the difficulty is that .NET CF doesn't really support any COM interop, at
this time. That is, you don't care if there's a COM object because you
can't use it from VB.NET or C#.

Yes, for practical purposes, that's what I'm saying. You could work around
the absence of COM interop, but why? What would that give you? Just call
the API functions...

Paul T.
 
Thanks for your prompt response Paul and please accept my appologize if
this sounds like a stupid question, but I am just a newbie trying to
figure out my way while learning the technology. When you say "Just
call the API functions" do you mean from C# or VB.Net using p/Invoke or
are you referring to some other way of calling API? If you mean that
later, how can we do it from managed code?
 
You'd call the DLL that MSMQ is implemented in, using the straight C-format
calls, via P/Invoke from either VB.NET or C#.

Paul T.
 
This one describes how you can do it via P/Invoke.

http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compac
tframework/browse_frm/thread/590664ce24c7c17c/8aaf35efd39e09af#8aaf35efd39e0
9af

Please note it's pretty difficult. 5+ years of C/C++ experience is highly
recommended.

The alternatives:

1. Native wrapper (not that much easer, but known to work).
2. Using MSMQ COM wrapper with CFCOM (not clear if it's going to work, but
should be relatively easy).
3. Start your project with V2 if time frame allows it.

Find CFCOM info here: http://www.odysseysoftware.com/products_cfcom.asp

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
 
ok, so easiest seem to me is to do in C++ using MSMQ COM API and forget
about doing via managed code until VS2005 and CF 2.0 is launced.
Sounds reasonable?

Can some one please point to some working sample code on doing it via
C++/MSMQ COM.
 
If you're willing to use C/C++, there's little point to use COM. Just use
normal C API instead. There are plenty of C samples for MSMQ CE in SDK.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceappservi
ces5/html/wce50orimsmqsamples.asp

As to using V2 and VS2005, it really depends on your time frame.
Unless you need it soon, you can start working on your project using VS2005
Beta (or better Beta 2 expected really soon).
CF runtime is very stable, in fact there was a special "go live" license
even for CF V1 Beta.

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
 
We ended up using CFCom from Odyssey Software. CFCom allows you to access
the CE MSMQ COM interface from .Net CF.

Be warned, we found a bug which prevents us from loading anything into the
message body. However; the label is sufficient for our needs. Odyssey tech
support follow-up is almost non-existent so don't expect much there.

Jon
 
Back
Top