I've been working with AspDotNetStorefront for the past 6 months... customising it, integrating it with an inhouse service delivery system, extending it to include some new functionality that was not included (eg: nested products).
Here's what I can say about ASPDNSF:
PROS:
1. Feature wise, its excellent. Has almost anything you'd ever need from a shopping cart system
2. Skinning is fairly easy, using their 'patented' xmlpackages technology (this, i believe, is the biggest problem with aspdnsf with respect to extending/ adding features)
3. The database isn't too bad - easy enough to find your way around
CONS:
1. The code is truly awful. I'm pretty sure it started off as a VB or ASP/VBScript app, so 90% of the code is procedural spaghetti code. This makes adding new features incredibly difficult
2. Their 'patented' xmlPackage technology for rendering of pages basically adds a level of complexity that i feel is totally unnecessary. To add to this, the xslt files query the database directly using inline selects, and render the results out on the page. Where the results depend on a condition (eg: is Kit complete? show add to cart button : show incomplete message), a call is made from the xslt to a .net class function, which returns a huge blob of html which is inserted directly in the page.
3. Probably around 50% of the html rendered is via String.Appends() in the c# code (core projects).
4. There are hundreds of inline sql calls throughout the core projects.
5. Variables are badly named (eg: anId, thatId, thisId, etc), and code comments minimal
6. The admin interface is messy and difficult to use
7. Practically any functionality changes require core code changes - which is going to make upgrading a nightmare (or probably just not viable to be honest)
So in summary, if all of the features you require are covered by the feature set, then you'll be fine with ASPDNSF. If, however, you plan to add more features, extend the product, or do anything out of the ordinary with it, look the other way now - I've had a miserable time trying to extend this product, something I wouldn't wish on my worst enemies.
Moving on to possible alternatives... i started evaluating dashCommerce a few days ago, but have since discovered that the project has been discontinued, so I have done the same with my evaluation.
Yesterday I discovered nopCommerce (www.nopcommerce.com), and I must say I'm very impressed. Feature wise it's a little lighter than ASPDNSF, but the code looks fantastic. It's fully object oriented, n-tier (object model, data layer, presentation using ascx & code behinds, abstract classes for payment providers, shipping providers, etc). On the whole its looking like it will be a pleasure to use, and especially extend. The interface is really nice too, and its open source with a solid community and much interaction by the core team.
My tip: Go for nopCommerce.. if it doesn't fit your needs, extend it. Adding the extra features to nopCommerce would have taken weeks less time than trying to change default functionality of ASPDNSF. If only i could undo the past few months and do them again with NC.
Hope this helps somebody out there... I wish I'd read a post like this before going down the ASPDNSF route (even though the product was chosen before i came on board, so it probably wouldn't have made a difference unfortunately).