Wednesday, November 26, 2008

While working on Azure - some ASP.NET stuff covered

So my ASP is a little rusty...

But working on my first Azure website - - has helped me oil out quite a bit of rustiness.

Among the items covered (so far):
  • General ASP.NET structure - including master pages, pages, server controls, validation, viewstate, code behind, sending emails, using web.config, writing custom HTTPModules ...
  • Some specific ASP.NET nasties:
    • IIS7 integration - spent far too long working out why my HTTPModule wasn't being called in IIS7 - how was I to know all my web.config examples were IIS6 ones?
    • URL rewriting - this MSDN article was especially useful as was Scott Gu's blog - the post back issue took me a day to code around... but eventually it was solved using 2 url rewrites - the first in BeginRequest, the second in PostMapRequestHandler
    • AJAX general things - including some basic tutorials on things like UpdatePanels from
    • Using the AJAX Control Toolkit - kudos to all who've contributed to this excellent set of tools.
    • Integrating Google Custom Search - really this should have been easy - but a clash of forms meant some very odd errors appeared in my application (bizarrely I was seeing both Ajax and normal submit buttons work in Firefox, but break in IE) - eventually on the way to solving this using Scott Mitchell's notes on dotnetslackers.
    • CSS integration - really, I've given up on this - it's just too hard integrating CSS and using things like the Login control... I'll try again later (maybe I'll use ASP.Net MVC and then I'll not use the standard login code?)
    • Adding email verification to an ASP.Net user registration - easy - see this link on
  • Some specific Azure issues/challenges:
    • How to live in a data store without JOINs
    • How to keep data consistent without Transactions
    • How to effectively use Partition and Row Keys as data lookup mechanisms
    • How to implement aggregate methods (counts and averages) in the Azure Table storage
    • What to do when optimistic locking is too optimistic (still working on this one!)
    • How to put larger tasks on background threads (worker roles)
    • Some bug fixes in the supplied samples for (for example) TableStorageMembershipProvider - really these samples are a godsend - I'm so glad that Microsoft supplied these!
Will post more details when I get my full invitation token from Microsoft - at that stage hopefully I will be able to upload my webapp and show it off a little...

No comments:

Post a Comment