Imagine that you have a webapplication or that you are going to develop one.
Typically such an application uses the benefit of QueryString parameters (e.g to provide deep links to the enduser)
It does not take long time to implement small methods to write simple uri's which appends a few QueryString parameters.
It is even easier to read the written parameters again. So what is the point of making this framework?

Well, as long as you only are working with a few 'dumb' string values in your querystring you might not benefit a lot. But consider that you want to use features such as
  • Encryption - either of a single value, a few or maybe the entire querystring
  • Validation - of the input which is read
  • Non-string datatypes - like a DateTime, numeric types, enum, Guid, boolean ect.
  • Exception handling - what should happend if the value of a QueryString key doesn't match your expectations or requirements?
  • Checksum validation - to ensure that the read QueryString values are not changed by the enduser
  • Create and maintain larger urls with several QueryString values

Everything controlled centrallized via strongly typed accessors, so if you for example decide that the parameter "documentId" now must be changed from a string to an integer or GUID with encryption;
you make a simple change in one place and this affects the entire application (on both read and write).
Any code which uses the "documentId" will now expect an integer and anything else will give a compile time error.

By the end of the day, you as a developer don't get significant less code, but you gain a lot of control.

- The project is thoughrouly testet by approx 250 automated tests

See 'documentation' for samples

Last edited Mar 17, 2012 at 7:33 AM by kasperbirkelund, version 5