This project is read-only.

Project Description

Asp.Net Rewrite Engine is an http module which enables extensible URL rewriting / routing through hierarchical conditions, rules, and extensible mapping providers. This module is conceptually based on Apache's mod_rewrite, but is written for the IIS/.NET technology stack.

Project Status

The project status will be updated as the module progresses.

Current State:
  • Planning Stage
    • A functional proof of concept has been produced (but not released)
    • Scope and depth of the module is being assessed, and requirements are being assembled

Features

Though this isn't an exhaustive feature list, the project as presently constituted will include the following features:

On the road map

  • XML based rewrite engine configuration which can (but is not required to) live in the web configuration file.
  • File (.config / .are) and API level engine configuration.
  • Hierarchical request processing which allows each directory to produce its own set of request / sub-request processing configuration / rule sets.
  • Engine state (on|off) management allowing for particular pipelines to be independently turned on or off.
  • Hierarchical / cascade-able (if that's a word), reusable conditions which can be grouped (complex "and, or" logic grouping), nested, combined, and referenced by rule and other condition sets.
  • Full exposure to request, server, session, environment variable, and regular expression / condition back-references.
  • Rewrite / Routing Map extension interfaces which will allow for programmatic developer defined run-time access to the request processing pipeline (for things like name / value pair, file and database based request processing).
    • Configurable Rewrite / Route Mapping process locking & synchronization.
  • Configurable route caching for performance tuning.
  • Request process logging (for diagnosing failed routing).
  • Event based exception handling
  • Classic ASP.NET and MVC support.

On the TODO list

  • Visual Studio integration
    • XSD for xml editor intellisense
    • New Item Templates for Map Providers and configuration & others
    • Visual designers for building and testing configurations
  • Sample applications to showcase every aspect of the engine
  • User documentation (non-SDK guides and how-to's)

Last edited Nov 12, 2009 at 7:38 PM by SteveWhitley, version 8