In the chapters so far, we have created a WCF service using LINQ to SQL in the data access layer. Next, we will apply some settings so that this WCF service will be a distributed service, which means that it can participate in distributed client transactions, if there are any. Client applications will control the transaction scope and decide whether a service should commit or rollback its transaction.
In this chapter, we will first verify that the LINQNorthwind
WCF service that we built in the previous chapter does not support distributed transaction processing. We will then explain how to enhance this WCF service to support distributed transaction processing, and how to configure all related computers to enable distributed transaction support. As a proof, we will propagate a transaction from the client to the WCF service, and verify that all sequential calls to the WCF service are within one single distributed transaction. We will also explain the multiple database support of the WCF service, and discuss how to configure MSDTC and the firewall for the distributed WCF service.
We will cover the following topics in this chapter:
LINQNorthwind
WCF serviceIn this chapter, we will create a new solution based on the LINQNorthwind
solution. We will copy all of the source code from the LINQNorthwind
directory to a new directory, and then customize it to suit our needs.
Follow these steps to create the new solution:
DistNorthwind
under the existing D:SOAwithWCFandLINQProjects
directory. D:SOAwithWCFandLINQProjectsLINQNorthwind
directory to the D:SOAwithWCFandLINQProjectsDistNorthwind
directory.