This is the final public release of the Expense sample application for .NET 3.0. I hope to focus on .NET 3.5 features in the upcoming releases.
- Rebuilt the ExpenseSequential workflow on .xoml.
- Simplified the ExpenseSequential and ExpenseStateMachine workflows.
- Simplified the custom workflow activities. Activities are now more straight-forward and reusable.
- Refactored LocalService implementation.
- Refactored IPendingWork implementation.
- Business processes no longer added to work batch to improve performance and control.
- Implemented code to demonstrate how to return values or exceptions back to the client from the service.
- Added/Removed some data access logic to support the new business logic.
- Implemented code to retrieve which connection to use from config file.
- Added the ability to disable MSMQ in the hosts. (Check Readme.txt for instructions.)
This sample contains 16 Visual Studio 2005 projects that illustrates the following:Presentation Layer
a) Expense Application - A Windows Smart-client for expense submission.
b) Manager Application - A Windows client for approving expense.
c) UI Process - Contains simple user process component classes.
d) Web Application - Contains the ASP.NET version of the expense submission and approver application.Business Services Layer
a) Business Entities - Contains entity classes that are used in the application.
b) Business Components - Contains Business logic classes.
c) Business Services - Contains the Service Interface classes.
d) Service Contracts - Contains WCF Service Contracts.
e) Service Extensions - Custom extension classes for WCF/WF integration.
f) Business Workflows - Contains the Sequential and StateMachine Expense Workflow classes.
g) Workflow Activities - Contains custom workflow activities.
h) Workflow Services - Contains the Local Service (ExternalDataExchangeService) implementation.Data Layer
a) Data - Contains components that performs CRUD functions.Hosts
a) Console Host - Console host for the WCF Expense Service.
b) Windows Service Host - Windows Service host for the WCF Expense Service.
c) WebHost - IIS host for the WCF Expense Service
For more information on Application Architecture for .NET, please refer to the following Microsoft patterns & practices guide http://msdn2.microsoft.com/en-us/library/ms954595.aspxNOTE:
For installation and configuration instructions, please read the accompanying Readme.txt
You may receive an error connecting to the host application when you first run the code in Visual Studio. This is due to the initialization of the ConsoleHost that may have taken a little longer while the Window clients try to connect to it.OPENING IN VISUAL STUDIO 2008
You should be able to migrate the solution to VS 2008 without any problems. VS 2008 has multi-targetting capabilities that can build and execute the sample.