Hands-on Labs for Enterprise Library for .NET Framework 2.0 now available!

The long-awaited hands-on labs for Enterprise Library for .NET Framework 2.0 are now available. The downloadable package contains 6 different labs, one for each block, and each is avalable in both C# and Visual Basic versions. The labs are self-paced, step-by-step tutorials which lead you through some of the key development tasks for each block. Whether you've just downloaded Enterprise Library for the first time and you're not sure where to start, or if you're experienced in some tasks but not sure what else the library has to offer, these labs are definitely worth a look.

And thanks to our friends at Readify for their work in putting these labs together.

This posting is provided "AS IS" with no warranties, and confers no rights.

Comments

  • Anonymous
    May 04, 2006
    The comment has been removed
  • Anonymous
    May 04, 2006
    One of best reusable and reliable stuff. Saves my time and can optimize the blocks as per my wish. Good Job Guys.
    john patrick
  • Anonymous
    May 09, 2006
    I diwnloaded and installed the hands on labs but the code will not load.  Peices seem to be missing.
  • Anonymous
    May 10, 2006
    Hands on Lab 2.0 helped me a lot.

    What is the best approach to track the LogEntry.ExtendedProperties to a new field in Log table in Logging Database instead of moving in FormattedMessage?
  • Anonymous
    May 11, 2006
    Phani - since each log entry may have several extended properties, the fully normalized solution would be to use an additional table that has a row for each property in each log entry. A simpler but less normalized approach would be to create a column that includes all of the properties in a delimited list. Either solution will require modifying both the schema and the Database TraceListener.

    Tom
  • Anonymous
    May 11, 2006
    Thanks Tom. I added a column to log table "ClassDump". I modified Formatted Database Listener method "ExecuteWriteLogSP(Logentry,db,tx)" to addnewparameter ClassDump , value set to extendedproperties.But looks like I need to modify couple more places Logentry,LogSource,Logger. Is that right?
  • Anonymous
    May 11, 2006
    Phani - No, you shouldn't need to modify any of those classes. The ExtendedProperties are stored in the LogEntry and should be safely transported by Logger, LogWriter, LogSource etc all the way to the TraceListener.

    Tom
  • Anonymous
    May 11, 2006
    Tom, Do you suggest I should create my new CustomDBListener class and have the same methods as FormattedDatabaseListener. If yes, is it required that my CustomDBListener must inherit from CustomTraceListener?
  • Anonymous
    May 12, 2006
    I created a customListener and Data class which works fine. Thanks Tom.
  • Anonymous
    May 18, 2006
    Tom,

    The Hands On Labs are very helpful to get a better idea of the various Application blocks.

    It would be great if the Logging block Lab showed an example of configuring and using a Database Trace Listener, we're trying to set it up and are having some problems.

    Thanks!
  • Anonymous
    May 22, 2006
    Tom, Just downloaded EntLib Jan 2006 and was playing around with the Logging App Block - just curious about one LogEntry setting - Priority - not sure how it relates to the "switchvalue" for the specific CategorySource - if I setup the LogEntry object with a severityLevel of "Error" and I set the "switchvalue" of the CategorySource to TraceEventType.Critical, then the message would not get displayed - which is what I expect. How could I use the Priority to achieve the same effect (without using Severity). In other words, what the "Priority" do - the documentation does not describe it.
  • Anonymous
    May 23, 2006
    SDG - Property is just a number and it doesn't impact the routing process or trigger the switches like Severity does. However you can filter messages based on their Priority setting using the PriorityFilter.

    Tom
  • Anonymous
    May 30, 2006
    Where is the EntLibQuickStarts catalog... do i need to run a sql script to create that one