C# .NET Web Developer's Guide

Chapter 7: Message Queuing Using MSMQ

Introduction

The connectivity of local area networks (LANs) and the Internet has made the concept of distributed applications a reality. Applications now routinely utilize remote machines to perform tasks and provide services. Unfortunately, a distributed application has many more points of failure than a nondistributed application servers may be offline, the network may be overloaded, or the scheduled maintenance or upgrading of servers can also cause problems for distributed applications. What is needed is for an application to be able to continue running when distributed resources are unavailable which is what the messaging infrastructure of Microsoft Message Queue (MSMQ) provides.

With MSMQ handling the communication between machines in a distributed application, it has a great deal of responsibility. All communication (messages) must have guaranteed delivery, security needs must be met, messages must be logged, and delivery confirmations must be sent, too. The MSMQ product provides all of these services and more in fact, by using MSMQ technology, you can make your applications more robust and scalable. For a small increase in application complexity, you gain many rewards.

The .NET Framework provides added functionality during the development of .NET applications. Objects can be serialized to binary or XML and then sent as a message. By using .NET serialization you send any dataset, image, or file into a message with very little coding.

In this chapter, we look at how MSMQ uses queues to store messages that provide a communications mechanism between applications. You ll see the options that are available for the usage of queues...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Middleware
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.