I've developed an entire corporate website (including full-scale CMS) using only Web Matrix. I have implemented my DAL as a user control (.ascx) that other pages and controls use (as in ). There are a handful of business object classes that are themselves defined
in this control (like User and Company for instance). So... every page of the site includes UserMan.ascx, which persists some visitor-profile and history information in the Session object, and writes other of the user-specific data directly to the database
via the DAL.ascx. This is done so every single action (page visit, webinar registration, search, etc..) can be recorded. There are various other user controls (registration forms and the search engine for instance) that are in some of the pages and behave
the same way in regards to doing their data I/O via the DAL.ascx control. Among the specific object methods in the DAL control, there are also generic SQLQuery and SQLNonQuery methods that can be used as one-offs. DAL.ascx passes DataSets, DataReaders, or
actual business objects (depending on the methods invoked) back to the calling controls. I took a bit of a design-on-the-fly approach to this, and I'm going to now start optimizing the architecture. The first thing I'm going to do is separate all business
objects from the DAL, so I can make this closer to a 3-tier application (and build up my BLL easier). My big question is, how important is it for me to move away from my user control (.ascx) approach to all compiled dlls? The current method does not require
that I re-compile anything, ever - just deploy. I use Web Matrix, so I don't care about IntelliSense... anybody want to slam my approach (or back it up?)?
ryedin3
Member
185 Points
37 Posts
Crude Web Matrix Architecture (review request)
Jun 17, 2004 07:25 PM|LINK