Culture and Region Information tool for .NET 2.0

Defining custom culture and region information is a common practice in many enterprise environments.

In the .NET Framework 2.0, we can use the CultureAndRegionInfoBuilder class build a custom culture that is new or based on an existing culture and region. The custom culture can be installed on a computer and subsequently used by any application running on that computer.

Using this class I’ve built a small command line tool to extract, register and unregister culture and region information.

Web Client Software Factory landing page available on MSDN

The landing page for the Web Client Software Factory is now available on MSDN and I’m listed as one of the external contributors, reviewers and advisors.

It contains useful information for those starting to play with or evaluating the factory. Check it out at:

You can still find the community site at Keep an eye on it because the team will be posting useful stuff frecuently!

Scoped Context Store

Sometimes I need to store data scoped by some context and isolated from the other scopes.

If I’m building a library that is to be used in both Windows client and Web server enviroments, I have different isolation/scope needs: for a Web server environment, the scope is the current HTTP context; for a Windows client environment, the scope is the current process.

Having that in mind, I just published an article in CodeProject.

What’s wrong with ASP.NET provider model? – The MembershipProvider

Basically, the lack of IIdentity in the API.

How would we had IIdentity to the MembershipProvider API? Simply, with a LoginUser method:

/// <summary>
/// Verifies that the specified user name and password exist in the data source.
/// </summary>
/// <returns>
/// A <see cref="T:System.Security.Principal.IIdentity"></see> instance
/// if the specified username and password are valid; otherwise, <see langword="null"></see>.
/// </returns>
/// <param name="username">The name of the user to validate.</param> /// <param name="password">The password for the specified user.</param> public abstract IIdentity LoginUser(string username, string password);

Not all membership checking is just about validating username and password. Sometimes, one needs to logon into a backend service provider and get a session token to access the membership system.

And, since we are at it, why don’t we add IIdentity support to the whole API?

URL Mapper Handler Factory

In most enterprise environments there usually lots of web applications from various origins (bought as a ready-made product or built for a specific purpose) that are published in most different mediums (URLs sent by e-mail, enterprise portals, rich client applications hosting web browsers, etc.).

In such an environment, coupling every caller with a specific entry point that can change with time and versions leads to a maintenance nightmare.

To solve this problem, I came up with a URL Mapper and published it in CodeProject.