But working on my first Azure website - www.stacka.com - 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 asp.net
- 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 aspcode.net.
- 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!