Freigeben über


Enterprise Library and the Future of Service Locator

Enterprise Library for .NET 2.0 has finally been released! This new release contains a lot of breaking changes from the former version; there are many good reasons for this, such as new features of .NET 2.0 which supercede some of the features of Enterprise Library for .NET 1.1, but this also impacts my Service Locator Enterprise Library Application Block. The current version (1.1) obviously also runs on the .NET 2.0 Framework, but since it integrates with Enterprise Library for .NET 1.1, it's not compatible with Enterprise Library for .NET 2.0.

As I still think there's a real need for the Service Locator Application Block (I know I need it!), I'm currently working on a new version. Just like Enterprise Library for .NET 2.0, it's an entirely new code base - the new version of Enterprise Library has a new internal model for creating objects (called Object Builder), and I saw some advantages of leveraging this framework instead of modfying the old version of Service Locator. The new version will support the same scenarios, plus a few new ones, but the API will be a bit different: For once, it now (obviously) uses generics.

Currently, I have a pretty decent beta version on my laptop. What remains to be done before it can be released?

  • There are some API changes I want to implement before development finishes. This mostly concerns how Service Locator is configured, and the changes all aim to simplify how this is done. It turns out that I had made the configuration model overly complex, so now I'm making it simple again. Ease of use is a major goal for me.
  • Instrumentation. I haven't completely thought this through yet, but I imagine that it might be useful if Service Locator provides performance counters and events whenever it creates an instance of a service.
  • QuickStarts. This version of Service Locator addresses two different modes of use, and I plan to provide a QuickStart for each.
  • Documentation. Although I'm going to be blogging about Service Locator, the documentation must be good enough to allow the Application Block to stand alone.

As you can see, there's a lot more to creating a full-fledged Application Block than just writing the code. Since this is a semi-hobby project of mine (although something I take quite seriously), I can't guarantee when I'll be able to release the new version, but I hope it will be within the next couple of months.

Comments

  • Anonymous
    May 21, 2006
    Any news for the new release of Service Locator for EntLib V2?
  • Anonymous
    May 22, 2006
    It's code complete, but I'm currently working on creating the documentation, sample code, etc. Unfortunately, other (paid) work keeps interfering, but I hope to be able to release Service Locator 2 within a few months.
  • Anonymous
    July 12, 2006
    As the "Service Locator 2" is code complete with API documentation, it is possible have a preview version without the QuickStart and the MSI package?
    I'm a user of the "Service Locator 1" and I wanted to start the migration to "Enterprise Library 2" and therefore "Service Locator 2".
  • Anonymous
    July 12, 2006
    The comment has been removed
  • Anonymous
    July 24, 2006
    I'm sure I'm not the only one itching for this application block. Any possible date for the final drop?
  • Anonymous
    July 31, 2006
    Hi D-Man

    Sorry about the late reply, but I was on vacation and just came home this Sunday.

    The Service Locator Code Gallery at http://codegallery.gotdotnet.com/servicelocator is a good place to go for news and updates about Service Locator 2. Particularly, this post: http://www.gotdotnet.com/codegallery/news/newsitem.aspx?id=ff00b1a1-64cd-4552-989d-7a6e82617303&newsId=6530d725-4aaa-4422-9484-5f02c27c044b should give you an idea about any possible release date.

    Additionally, this post: http://www.gotdotnet.com/codegallery/news/newsitem.aspx?id=ff00b1a1-64cd-4552-989d-7a6e82617303&newsId=dc08b1dc-1108-4ddc-9be9-09a0fade1409 describes how you can get a tecnology preview.

    I hope this answers your question - obviously, you seem to have hoped for "Tomorrow", so I'm sorry to disappoint you there.