Showing posts with label Enterprise Library. Show all posts
Showing posts with label Enterprise Library. Show all posts

Monday, October 24, 2011

Silverlight Integration Pack for Microsoft Enterprise Library 5.0

Silverlight Integration Pack for Enterprise Library is a collection of guidance and reusable application blocks designed to assist Silverlight application developers with common LOB development challenges. This release includes: Caching Application Block, Exception Handling Application Block, Logging Application Block, Policy Injection Application Block, Validation Application Block, and Unity Application Block. These blocks are designed to encapsulate recommended practices which facilitate consistency, ease of use, integration, and extensibility. The release also addresses the needs of those who would like to port their existing LOB applications, that already leverage Enterprise Library, to Silverlight

This release includes:

  • Caching Application Block with support for:
    • In-memory cache
    • Isolated storage cache
    • Expiration and scavenging policies
    • Notification of cache purging
  • Validation Application Block with support for:
    • Multi-level complex validation
    • Attribute-based specification of validation rules
    • Configuration-based specification of validation rules
    • Simple cross-field validation
    • Self-validation
    • Cross-tier validation (through WCF RIA Services integration)
    • Multiple rule-sets
    • Meta data type for updating entities with external classes in Silverlight
    • Rich set of built-in validators
  • Logging Application Block, including:
    • Notification trace listener
    • Isolated storage trace listener
    • Remote service trace listener with support of batch logging
    • Implementation of a WCF Remote logging service that integrates with the desktop version of the Logging Application Block
    • Logging filters
    • Tracing
    • Logging settings runtime change API
  • Exception Handling Application Block, including:
    • Simple configurable, policy-based mechanism for dealing with exceptions consistently
    • Wrap handler
    • Replace handler
    • Logging handler
  • Unity Application Block – a dependency injection container
  • Dependency injection container independence (Unity ships with the Enterprise Library, but can be replaced with a different container)
  • Unity Interception mechanism, with support for:
    • Virtual method interception
    • Interface interception
  • Policy Injection Application Block, including:
    • Validation handler
    • Exception Handling handler
    • Logging handler
  • Flexible configuration options, including:
    • XAML-based configuration support
    • Asynchronous configuration loading
    • Interactive configuration console supporting profiles (desktop vs. Silverlight)
    • Translation tool for XAML config (needed to convert conventional XML configuration files):
      • Standalone command-line tool
      • Config console wizard
      • MS Build task
    • Programmatic configuration support via a fluent interface
  • StockTrader V2 Reference Implementation
Download

Download the "Enterprise Library 5.0 Silverlight Integration Pack.msi" and install it. Alternatively, download specific application blocks from NuGet.
To get the optional configuration tool, install it separately from the Visual Studio gallery or download and install the Microsoft.Practices.EnterpriseLibrary.ConfigConsole.vsix package.

Microsoft Enterprise Library 5.0

Microsoft Enterprise Library is a collection of reusable application blocks designed to assist software developers with common enterprise development challenges. This release includes: Caching Application Block, Cryptography Application Block, Data Access Application Block, Exception Handling Application Block, Logging Application Block, Policy Injection Application Block, Security Application Block, Validation Application Block, and Unity Application Block.
This major release of Enterprise Library contains many compelling new features and updates that will make developers more productive. These include:

  • Major architectural refactoring that provides improved testability and maintainability through full support of the dependency injection style of development
  • Dependency injection container independence (Unity ships with Enterprise Library, but you can replace it with a container of your choice)
  • Programmatic configuration support, including a fluent configuration interface and an XSD schema to enable IntelliSense
  • Redesign of the configuration tool to provide:
    • A more usable and intuitive look and feel
    • Extensibility improvements through meta-data driven configuration visualizations that replace the requirement to write design time code
    • A wizard framework that can help to simplify complex configuration tasks
  • Data accessors for more intuitive processing of data query results
  • Asynchronous data access support
  • Honoring validation attributes between Validation Application Block and DataAnnotations
  • Integration with Windows Presentation Foundation (WPF) validation mechanisms
  • Support for complex configuration scenarios, including additive merge from multiple configuration sources and hierarchical merge
  • Optimized cache scavenging
  • Better performance when logging
  • A reduction of the number of assemblies
  • Support for the .NET 4.0 Framework and integration with Microsoft Visual Studio 2010
  • Improvements to Unity

Download the MSI and install

Thursday, November 11, 2010

How to: Serializable with DAAB

This is how we can convert as Serializable which are written in Data Layer with Enterprise Library DAAB. All you need to do is make the Class and Connection object as Serializable.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Runtime.Serialization;
/// <summary>
/// Summary description for DataLayer
/// </summary>
[Serializable]
public class DataLayer : IDeserializationCallback
{
    [NonSerialized]
    Database db;
    
	public DataLayer()
	{
        db = DatabaseFactory.CreateDatabase("DBConnectionString");        
	}
    public DataTable GetClients()
    {
        DataTable result = new DataTable();
        DbCommand dbcommand = db.GetStoredProcCommand("GetAll_Clients");
        DataSet ds = db.ExecuteDataSet(dbcommand);
        if (ds.Tables.Count > 0)
        {
            result = ds.Tables[0];
            ds = null;
        }
        return result;
    }
    #region IDeserializationCallback Members
    void IDeserializationCallback.OnDeserialization(object sender)
    {
        db = DatabaseFactory.CreateDatabase("DBConnectionString");
    }
    #endregion
}

But you need to make all the data layer classes serializble this way to get the connection right.

Monday, February 04, 2008

Enterprise Library 3.5 for Visual Studio 2008

Enterprise Library 3.5 for Visual Studio 2008

After releasing Enterprise Library 3.X last May, and starting the Enterprise Library Contrib project, the team is currently working on porting Enterprise Library to work with Visual Studio 2008. According to Grigori Melnik, this includes improving existing application blocks as well as guidance on how to use them. Melnik also mentions, that moving to Enterprise Library 3.5 does not include introducing new application blocks. No official date was provided, but we can expect the release to be available after February 2008, after Visual Studio 2008 is officially launched.
Together with this release we can also expect to find updated Hands On Labs that will also include labs for the Validation Application Block and Policy Injection Application Block that were introduced in Enterprise Library 3.0.

Thursday, January 03, 2008

About the Enterprise Library 3.1

The Microsoft patterns & practices Enterprise Library is a collection of application blocks that can help simplify many common enterprise development challenges. This release of Enterprise Library includes application blocks for Caching, Cryptography, Data Access, Exception Handling, Logging, Policy Injection, Security and Validation.

Application Blocks are reusable, extensible source-code components that provide guidance for common development challenges

Enterprise Library is a collection of general purpose application blocksCaching, Configuration, Cryptography, Data Access, Exception Handling, Logging, SecurityEmphasis on Consistency, Extensibility, Ease of Use and IntegrationOriginally designed for .NET Framework 1.1 (January/June 2005 releases) and updated for .NET Framework 2.0 (January 2006 release)

New application blocks
  • Validation Application Block
  • Policy Injection Application Block

Improvements to existing application blocks

  • Data Access Application Block
  • Logging Application Block

.NET Framework 3.0 integration

  • Logging, Exception Handling and Validation Application Blocks

Configuration improvements

  • Visual Studio-integrated configuration tool
  • Environmental Overrides
  • Manageable Configuration Source

Automation

  • Application Block Software Factory
  • Strong Naming Guidance Package

Migrating from Earlier Releases
In general, applications built using Enterprise Library for .NET Framework 2.0 – January 2006 will function with the Enterprise Library 3.0 or the Enterprise Library 3.1 without the need for any code changes. It will be necessary to update the references to refer to the new assemblies and to update the configuration files to reference the correct version of the assemblies.

Get it from here.... Enterprise Library 3.1 Download

Wednesday, July 11, 2007

Enterprise Library June 2005 Instrumentation Issue

Enterprise Library June 2005 Instrumentation Issue

I got this error in one of the site that I am recently when i did my installation ( win 2000, .Net 1.1) Access to performance data was denied to ASPNET as attempted from C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_wp.exe Access to performance data was denied to ASPNET as attempted from C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_wp.exe System.TypeInitializationException: The type initializer for "Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent" threw an exception. ---> System.Security.SecurityException: Requested registry access is not allowed. at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) at System.Diagnostics.EventLog.CreateEventSource(String source, String logName, String machineName, Boolean useMutex) at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category) at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID) at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type) at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances.ReportCounterFailure(String message) at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.PerformanceCounterInstances..ctor(String categoryName, String counterName, Boolean createNewInstance) at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.AddPerformanceCounter(String category, String[] counterNames, Boolean createNewInstance) at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent.Initialize(String counterCategory, String[] counterNames, Boolean createNewInstance, String eventLogSource, EventLogIdentifier[] eventIds) at Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.InstrumentedEvent..ctor(String counterCategory, String[] counterNames, Boolean createNewInstance, String eventLogSource, EventLogIdentifier[] eventIds) at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataServiceEvent..ctor(String[] counterNames, EventLogIdentifier[] eventLogIds) at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent..ctor(String[] counterNames, EventLogIdentifier[] eventLogIDs) at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent..cctor() --- End of inner exception stack trace --- at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataConnectionFailedEvent.Fire(String connectionString) at Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation.DataInstrumentationFacade.ConnectionFailed(String connectionString) at Microsoft.Practices.EnterpriseLibrary.Data.Database.OpenConnection() at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DBCommandWrapper command) at Abn.DataAccessLayer.SqlClient.SqlCancerTypeProviderBase.GetAll(TransactionManager transactionManager, Int32 start, Int32 pageLength) at Abn.DataAccessLayer.Bases.CancerTypeProviderBase.GetAll() at Abn.Facade.AbnOncologyFacade.GetAllCancerType() at AbnWebApplication.OncologySearchPage.LoadCancerType() at AbnWebApplication.OncologySearchPage.Page_Load(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain() After doing some googling found couple of direction to solve the problem. Thought I should post all the link for future reference.

http://blogs.msdn.com/tomholl/archive/2005/02/18/376187.aspx
http://scottonwriting.net/sowblog/posts/3406.aspx
http://aspnet.4guysfromrolla.com/articles/022305-1.aspx
http://aspnet.4guysfromrolla.com/articles/030905-1.aspx
http://codebetter.com/blogs/eric.wise/archive/2005/03/21/60163.aspx
http://www.thescripts.com/forum/thread376376.html
http://objectsharp.com/blogs/bruce/archive/2003/12/05/222.aspx
http://support.microsoft.com/default.aspx?scid=kb;en-us;329291

This was giving a hard time even after assigning permission to the registry and following most the resolutions suggested in the above links etc. But at the end rebooting the server probably did the trick and things started working as expected.