How to Configure MSMQ Activation for Workflow Services

Our customer experience team has published a new article describing how to configure MSMQ activation when using workflow services. Queued communication is the typical mechanism used for communicating with long-running workflow services when the client and service may be starting and stopping over the lifetime of the conversation. The article covers setting up the messaging…

2

Queuing in the .Net Services CTP

Clemens Vasters has a series of articles talking about some of the queue and router capabilities in the .Net Services CTP released back in March. The earlier articles in the series cover the topology of queues and routers in the .Net Service Bus while later articles in the series go into detail on the HTTP…


Non-Destructive Queue Receive State Machine

The state machine for a non-destructive receive has some noticeable similarities to the state machine for a general-purpose communication object, but it’s intentional for these two state machines to be different. A non-destructive receive tries with minimal overhead to provide support for at-least once delivery of messages, and through transactions support for exactly-once delivery of…


Non-Destructive Queue Receive

You should take the time to understand the earlier articles in the series for context if you haven’t already. Future of Queuing An Alternative Queuing Model The three basic operations that we talked about for queuing with non-destructive receives are peek, lock, and delete. Rather than creating a new channel shape for peeked receives, you…


An Alternative Queuing Model

Before talking about the new model for queued transports that we’ve added to WCF 4.0, let’s first look at the traditional transacted receive pattern. Start a transaction. This can be relatively cheap although we’ll have to pay more for the transaction once we actually have a resource (message) and other participants. Wait for a message…

4

Future of Queuing

Another of the topics that you’ll hear a lot about for asynchronous and decoupled programming in WCF 4.0 is queuing. WCF has previously supported queuing through the one-way channel shapes with a combination of datagram and session options. The session in a one-way queued session channel is just a way of defining a unit of…

2

Diagnosing a Common Transactional Queue Error

Since a lot of people seemed to like the article on interpreting error messages when opening a queue, here is a bit of discussion on interpreting error messages when reading from a queue. As with opening a queue, MSMQ reports many common errors using generic error messages when reading from a queue. For example, reading…

1

Diagnosing Common Queue Errors

MSMQ reports many common errors using generic error messages. For example, opening a queue might give you an error message that looks like this. An error occurred while opening the queue: The queue does not exist or you do not have sufficient permissions to perform the operation. (-1072824317, 0xc00e0003). The message cannot be sent or…

2

Hosting Queued Services in IIS

Over the past few days Tom Hollander has been posting his experiences hosting a queue-based WCF service in IIS. These posts go into a lot of detail about setting up the machines, configuring the service, and troubleshooting problems. If you’re looking for a step-by-step guide, this is a great resource. MSMQ, WCF and IIS: Getting…

1

Single Reader for MSMQ

My application needs to process messages from a queue in-order but multiple messages are being read at once. How do I make the service only use a single reader? There are two modes that control how many requests a service can process at once. InstanceContextMode controls when a new instance of your service is created;…

1