views:

1116

answers:

1

Hi, I'm using WCF (C#) to send/receive messages from private msmq queue under Windows Server 2003 in WorkGroup mode. Client WCF/Service WCF and MSMQ are on the same computer.

There's one client that send message to the private queue, that's work perfect. There's one service that receive message from the same private queue but the service seems to be never called by msmq.(no error occured)

Messages stack up on the queue but nothing pull out.. On another computer (domain mode and not workgroup mode) messages was sent and received perfectly. What's wrong with the workgroup mode that cause MSMQ to never call my service ?

After, I write C# test, always on same computer, but this time i created MessageQueue and subscribe to the ReceiveCompleted event by this way : ...

MessageQueue MQueue = new MessageQueue(".\private$\nameofmyqueue"); MQueue.MessageReadPropertyFilter.SetAll(); MQueue.ReceiveCompleted += MessageEventHandler; Message Msg = MQueue.Receive(); ...

And I receive events from msmq queue when there's new message now.

So, i think there's trouble in my service configuration (WFC config) or in my namespace reservation. that's right ? Keep on searching son...

A: 

Hi all,

I found where was my trouble...

In fact i use a transacted service that call SQL server 2005 procedure.

In order to use transacted binding with SQL 2005, execution of procedure is braced in a transaction scope.

So, if exception was thrown and not catched DTC used to rollback process. My trouble is that DTC/remote client connection was not activated on my server...that'sall.

So, either you should activate DTC/remote client connection either you don't use transaction scope.

But if you want to use DTC and remote client connection, remote client connection must be activated before because activate DTC and remote client connection cause reboot of the server.

fred