documentation
.HELP!
Microsoft Enterprise Library 5.0 Documentation
Using the Configuration Tool
Microsoft Enterprise Library 5.0
previous page
next page
Microsoft Enterprise Library 5.0
Using the Configuration Tool
Collapse All
Expand All
Language Filter: All
Language Filter: Multiple
Language Filter: Visual Basic
Language Filter: C#
Visual Basic
C#
Not available for Unity configuration.
previous page
start
next page
Menu
Homepage
Table of contents
Welcome to Enterprise Library
What Is Enterprise Library?
About This Release of Enterprise Library
Changes in This Release
Target Audience and System Requirements
Contents of Enterprise Library
The Enterprise Library Application Blocks
The Enterprise Library Core
The Enterprise Library Configuration Tools
The Instance Creation and Dependency Injection Mechanism
Utilities, Tools, and Guidance
Migration and Side-by-Side Execution
Related patterns & practices Links
Copyright and Terms of Use
Developing Applications with Enterprise Library
Configuring Enterprise Library
Using the Configuration Tools
Advanced Configuration Scenarios
Using a Non-default Configuration Store
Sharing Configuration Sections across Multiple Applications
Applying a Common Configuration Structure for Applications
Merge Rules for Inherited Configuration
About the Configuration System
Using Group Policy with Enterprise Library
Configuring a Deployment Environment
Using the Fluent Configuration API
Using the appSettings Section
Updating Configuration Settings at Run Time
Encrypting Configuration Data
Enabling Instrumentation
Source Schema for Enterprise Library Core
Using Enterprise Library in Applications
Referencing Enterprise Library Assemblies
Dependencies in Enterprise Library
Creating and Referencing Enterprise Library Objects
Storing a Reference to the Container
Windows Forms and WPF Applications
ASP.NET Web Forms Applications
ASP.NET Dependency Injection HTTP Module
ASP.NET Application State Extension
WCF and ASP.NET Web Service Applications
Creating Application Block Objects
Injecting Resolved Types into Other Classes
Resolving Instances of Types Using Unity
Creating Application Block Objects Directly
Deploying Enterprise Library
Preparation and Versioning
Building Enterprise Library from the Source Code
Strong Naming the Enterprise Library Assemblies
Updating Application Block Assemblies
Partial Trust Environments
Customizing the Medium Trust Policy
Limitations When Using Partial Trust
Administering Enterprise Library
Extending and Modifying Enterprise Library
Creating Custom Providers for Enterprise Library
Enterprise Library Extension Points
Enterprise Library Configuration Integration
Creating a Custom Provider
Design of Enterprise Library
Design Patterns
The Enterprise Library Core
Providers
Design Time Configuration
The Dependency Injection Model
Instrumentation
Group Policy Support
The Manageable Configuration Source Class
Integration of Group Policy with Enterprise Library Applications
Unit Tests
The Caching Application Block
What Does the Caching Application Block Do?
When Should I Use the Caching Application Block?
Developing Applications Using the Caching Application Block
Entering Configuration Information
Source Schema for the Caching Application Block
Adding Application Code
Selecting a Backing Store
Key Scenarios
Adding Items to the Cache
Removing Items from the Cache
Retrieving Items from the Cache
Flushing the Cache
Loading the Cache
Design of the Caching Application Block
Design of the Expiration Process
Design of the Scavenging Process
Extending and Modifying the Caching Application Block
Extending the Caching Application Block
Deployment and Operations
Caching Application Block Performance Counters
Caching Application Block Event Log Entries
The Cryptography Application Block
What Does the Cryptography Application Block Do?
When Should I Use the Cryptography Application Block?
Developing Applications Using the Cryptography Application Block
Entering Configuration Information
Source Schema for the Cryptography Application Block
Maximizing Security
Adding Application Code
Key Scenarios
Encrypting Data Using a Symmetric Provider
Decrypting Data Using a Symmetric Provider
Obtaining a Hash Value
Checking Whether a Hash Value Matches Some Text
Design of the Cryptography Application Block
Designing for Simplified Cryptography Functionality
Designing for Algorithm Abstraction
Extending and Modifying the Cryptography Application Block
Extending the Cryptography Application Block
Modifying the Cryptography Application Block
Deployment and Operations
Deploying the Cryptography Application Block
Cryptography Application Block Performance Counters
Cryptography Application Block Event Log Entries
The Data Access Application Block
What Does the Data Access Application Block Do?
When Should I Use the Data Access Application Block?
Developing Applications Using the Data Access Application Block
Entering Configuration Information
Source Schema for the Data Access Application Block
Adding Application Code
Creating a Database Object
Creating a DbCommand Object
Managing Connections
Using the TransactionScope Class
Using the Asynchronous Data Access Methods
Returning Data as Objects for Client Side Querying
Defining Parameter Mappers
Building Output Mappers
Creating and Using Accessors
Executing Queries without Creating an Accessor
Executing Accessor Queries Asynchronously
Additional Information for Accessors and Client-side Queries
Creating Portable Database Applications
Handling Exceptions
Handling Parameters
Key Scenarios
Using a DbDataReader to Retrieve Multiple Rows
Using a DataSet to Retrieve Multiple Rows
Executing a Command and Accessing Output Parameters
Executing a Command and Accessing a Single Item Result
Performing Multiple Updates Within a Transaction
Using a DataSet to Update a Database
Retrieving Multiple Rows as XML
Retrieving Data as Objects
Performing Asynchronous Data Access
Design of the Data Access Application Block
Designing for Simplified Data Access
Designing for Database-Agnostic Applications
Extending and Modifying the Data Access Application Block
Extending the Data Access Application Block
Adding a New Application Block Database Provider
Deployment and Operations
Data Access Application Block Performance Counters
Data Access Application Block Event Log Entries
The Exception Handling Application Block
What Does the Exception Handling Application Block Do?
When Should I Use the Exception Handling Application Block?
Developing Applications Using the Exception Handling Application Block
Entering Configuration Information
Source Schema for the Exception Handling Application Block
Adding Application Code
Determining Appropriate Exception Policies and Actions
Specifying Different Handling Actions Based on Exception Type and Policy
Sending an Exception to the Exception Handling Application Block
Handling and Throwing Exceptions
Key Scenarios
Logging an Exception
Replacing an Exception
Wrapping an Exception
Propagating an Exception
Displaying User-Friendly Messages
Notifying the User
Assisting Support Staff
Shielding Exceptions at WCF Service Boundaries
Design of the Exception Handling Application Block
Designing for Simplified Catch Blocks
Designing for Encapsulation of Behavior in Reusable Handlers
Extending and Modifying the Exception Handling Application Block
Adding a New Exception Handler
Adding a New Exception Formatter
Deployment and Operations
Exception Handling Application Block Performance Counters
Exception Handling Application Block Event Log Entries
The Logging Application Block
What Does the Logging Block Do?
When Should I Use the Logging Block?
Developing Applications Using the Logging Application Block
Entering Configuration Information
Configuration Overview
Configuring Trace Listeners
Trace Listener Properties
TraceOutputOptions Values
Configuring WCF Integration Trace Listeners
Configuring Formatters
Configuring Trace Source Categories
Configuring Logging Filters
Configuring the Application Block
Source Schema for the Logging Application Block
Using the Distributor Service
Adding Application Code
Key Scenarios
Logging to a Database
Logging to Windows Event Log
Logging to a Disk File
Logging to Windows Message Queuing
Logging to WMI
Logging as E-mail Messages
Populating and Raising Events from Code
Populating a Log Message with Additional Context Information
Tracing Activities and Propagating Context Information
Checking Filter Status before Constructing Log Messages
Design of the Logging Application Block
Designing for Simple and Consistent Logging Functionality
Extending and Modifying the Logging Application Block
Extending the Logging Application Block
Deployment and Operations
Logging Application Block Performance Counters
Logging Application Block Event Log Entries
The Policy Injection Application Block
The Security Application Block
What Does the Security Application Block Do?
When Should I Use the Security Application Block?
Developing Applications Using the Security Application Block
Entering Configuration Information
Source Schema for the Security Application Block
Adding Application Code
Key Scenarios
Obtaining a Temporary Token for an Authenticated User
Authenticating a User Using a Token
Terminating a User Session (Expiring a Token)
Determining Whether a User Is Authorized to Perform a Task
Design of the Security Application Block
Designing for Simplified Authorization
Extending and Modifying the Security Application Block
Extending the Security Application Block
Deployment and Operations
Security Application Block Performance Counters
Security Application Block Event Log Entries
The Validation Application Block
What Does the Validation Application Block Do?
When Should I Use the Validation Application Block?
Developing Applications Using the Validation Application Block
Entering Configuration Information
Source Schema for the Validation Application Block
Adding Application Code
Using the Validation Block Validators
And Composite Validator
Contains Characters Validator
Date Time Range Validator
Domain Validator
Enum Conversion Validator
Not Null Validator
Object Collection Validator
Object Validator
Or Composite Validator
Property Comparison Validator
Range Validator
Regular Expression Validator
Relative Date Time Validator
String Length Validator
Type Conversion Validator
Single Member Validators
Understanding Common Validator Properties
Understanding Validation Results
How Validators Are Created
Validation and Inheritance
Key Scenarios
Validating Objects
Creating Validators Programmatically
Using Validation Block Attributes
Using Data Annotation Attributes
Defining Attributes in Metadata Classes
Using Self Validation
Integrating with ASP.NET, WPF, Windows Forms, and WCF
Integrating with ASP.NET
Integrating with WPF
Integrating with Windows Forms
Integrating with WCF
Design of the Validation Application Block
Extending and Modifying the Validation Application Block
Extending the Validation Application Block
Deployment and Operations
Validation Application Block Performance Counters
Validation Application Block Event Log Entries
Unity Dependency Injection and Interception
What Is Unity?
What Does Unity Do?
When Should I Use Unity?
About This Release of Unity
Changes in This Release
Target Audience and System Requirements
Migration and Side-by-Side Execution
Reusing Configuration Files Based on a Previous Schema
Related patterns & practices Links
Copyright and Terms of Use
Configuring Unity
Design Time Configuration
Using the Configuration Tool
Using the Unity XSD to Enable Visual Studio IntelliSense
Using Design-Time Configuration
Specifying Types in the Configuration File
The Unity Configuration Schema
Specifying Values for Injection
Extending the Unity Configuration Schema
Configuration Files for Interception
Interception Configuration Schema Elements
Run-Time Configuration
Using Run Time Configuration
Registering Types and Type Mappings
Creating Instance Registrations
Registering Injected Parameter and Property Values
Registering Generic Parameters and Types
Registering Container Extensions
Registering Interception
Registering Policy Injection Components
Using Unity in Applications
Application Design Concepts with Unity
Adding Unity to Your Application
Resolving Objects
Resolving an Object by Type
Resolving an Object by Type and Registration Name
Resolving All Objects of a Particular Type
Resolving Objects by Using Overrides
Deferring the Resolution of Objects
Retrieving Container Registration Information
Using Container Hierarchies
Understanding Lifetime Managers
Dependency Injection with Unity
Using BuildUp to Wire Up Objects Not Created by the Container
Using Injection Attributes
Annotating Objects for Constructor Injection
Annotating Objects for Property (Setter) Injection
Annotating Objects for Method Call Injection
Circular References with Dependency Injection
Interception with Unity
Scenarios for Interception
Behaviors for Interception
Configuring a Container for Interception
Unity Interception Techniques
Using Interception in Applications
Stand-alone Unity Interception
Interception Behavior Pipeline
Interception with a Container
Using Interception and Policy Injection
Policy Injection Matching Rules
The Assembly Matching Rule
The Custom Attribute Matching Rule
The Member Name Matching Rule
The Method Signature Matching Rule
The Namespace Matching Rule
The Parameter Type Matching Rule
The Property Matching Rule
The Return Type Matching Rule
The Tag Attribute Matching Rule
The Type Matching Rule
Attribute-Driven Policies
Enterprise Library Call Handlers
The Authorization Handler
The Exception Handling Handler
The Logging Handler
The Performance Counter Handler
The Validation Handler
Design of Unity
Extending and Modifying Unity
Creating Lifetime Managers
Creating and Using Container Extensions
Creating Policy Injection Matching Rules
Creating Interception Policy Injection Call Handlers
Creating Interception Handler Attributes
Creating Interception Behaviors
Deployment and Operations
Using Unity in Partial Trust Environments
Updating the Unity Assemblies
Strong Naming the Unity Assemblies
Unity QuickStarts
Walkthrough: The Unity StopLight QuickStart
Walkthrough: The Unity Event Broker Extension QuickStart
Get in touch
Submit feedback about this site to:
[email protected]