By Deane Barker on August 18, 2008

Themelia Framework – Home: This looks crazy interesting. It’s from David Betz — the commentor I mentioned in my post on ASP.Net a couple days back. He’s written a framework for ASP.Net that interrupts the Model 1 framework.

One of my frustrations with ASP.Net was that it was a fairly simplistic 1 URL = 1 File model, unlike Apache, with which you could fiddle around with requests before they got to an actual file. I had used ISAPIRewrite, which was a third-party filter which put me back to where I was with Apache, but it was…third-party.

Well, it turns out that I just didn’t know enough (that’s becoming a common theme with ASP.Net…). Themelia appears to go far beyond even mod_rewrite and lets you grab requests from all over the IIS request pipeline using complicated criteria and run arbitrary code anywhere in that process, which really frees up a lot of nice functionality.

Themelia (Th-meh-LEE-uh; “Th” as in “Thelma”) provides a new paradigm for ASP.NET development by providing development simplifiers and an extreme HTTP pipeline hijacking mechanism, going far beyond simple HTTP handlers, URL rewriting, and routing going FAR beyond .NET’s System.Web.Routing assembly. New paradigms include handler injectors, mapped handler factories, fallthrough handlers, web sections, and web components, giving web architects and developers extreme control over their web solutions.

It runs under IIS 6 and 7, though I’ll admit that I haven’t quite got it installed and running yet.

What’s nice about something like this is that you could install it as a base item in any project you work on, and just “leave it in reserve” if you don’t need it. Perhaps Model 1 architecture is exactly what you need. However, there’s always some situation when you really need to do something a little out of the ordinary.

Now I have a good option for those times.

(As a bonus, the name sounds like something my daughters would name one of their little princess dolls. So, you know, that’s cool too.)

What This Links To