Microsoft Patterns and Practices released the Enterprise Library 3.0 February 2007 CTP last night.
A few things make this a very significant release:
- It is the last CTP before RTM
- All the blocks are Release Candidates except for the Policy Injection Application Block
- Includes a new Application Block – Policy Injection Application Block
This is your last chance to influence and report on anything you would like to see in the final product.
Download it here.
Policy Injection Application Block
This is the big news. Patterns and Practices wasn't sure the new application block would make it into the 3.0 release so they kept it hush hush in case they had to remove it at the last minute due to lack of time. Here is the official description of this new block in the Release Notes:
"The Policy Injection Application Block is designed to simplify the separation of business logic from cross cutting concerns, by letting you define policies and the objects/methods they apply to in a declarative way. Each policy contains a pipeline of "handlers" that are executed before and after a policy-enabled method is called. The Policy Injection Application Block will provide handlers that wrap several Enterprise Library application blocks, including validation, logging, authorization and caching."
I recommend reading the following for more information:
I haven't played with it yet, but I believe this application block will not be completely finished until RTM.
"The configuration tool now includes support for Environmental Overrides.This feature makes it much easier to manage configuration files for applications that are deployed to multiple environments (such as dev, test, staging, production etc). Typically the application's configuration settings will be almost the same in each environment – but with a few important differences such as connection strings or logging thresholds. Making sure you have consistency where you want it, and environment-specific differences when you need them, is often tricky. The Environmental Overrides feature provides a solution by letting you define a master configuration file, as well as a number of per-environment delta files. The master can be merged with each delta file at design-time to produce an environment-specific configuration file."
Validation Application Block
WCF Integration Adapter, allowing you to validate passed to WCF Service Contracts and generate SOAP Fault messages if validation fails
Logging Application Block
A new EntLibLoggingProxyTraceListener class. This trace listener is designed to be used in WCF’s System.ServiceModel trace source, which is configured within the <system.diagnostics> section. This trace listener receives WCF messages logged to this trace source, wraps them in an XmlLogEntry class, and forwarda them to the Logging Application Block where it can be processed according to the application block configuration.
A new XmlLogEntry class, which derives from LogEntry but includes a new Xml property that preserves the original XML data provided by WCF.
A new XmlTraceListener class, which derives from the .NET XmlWriterTextWriter class. This class can extract XML data from an XmlLogEntry class and write this data to an XML text file. The output of this trace listener can be used with the WCF log file analysis tools.
A lot of good stuff.