views:

1305

answers:

1

In trying to deploy a service I have found that it won't start because MSMQ is in workgroup mode. I have created a private queue instead and changed the config files to refer to it, but the WCF service host refuses to start with this message:

Binding validation failed because the binding's MsmqAuthenticationMode property is set to WindowsDomain but MSMQ is installed with Active Directory integration disabled.

Can anyone tell me how to specify workgroup mode in the config file? The information I find in MSDN is all about modifying the setting in code, and makes no mention of how to specify this in the config file.

In the config file that I have, the bindings tag is empty (<bindings />) yet the service endpoint specifies binding="netMsmqBinding" which I imagine means a default configuration is in use.

+1  A: 

You should set anonymous integration authentication on the queue. Look at this kb on why and how.

In the msdn there is a good example of working with workgroup mode. Note that the example use transactional queue. So you will have to make your queue transactional. This can be done only when creating the queue.

Post your code and config so we can comment on them.

Igal Serban
My queue is already transactional for the reasons you mention. I sorted this out last night but your answer is a good one and the two links you provide are excellent so thank you.
Peter Wone
Anyone interested in other good material on this topic should obtain a copy of Essential Windows Communication Foundation by Resnick, Crane and Bowen.
Peter Wone