Internally ASP.NET has a 2 GB addressing space, but in reality you only have less than 1 GB free for uploads (see http://support.microsoft.com/?id=295626 ). In addition IIS
no matter what code pattern you use. If you write a server side code, then file is going to go to your webrole and then several pains such as role recycle and retrying failed uploads is going to come. I removed these issues though a client side Silverlight control, that not only did fault tolerant uploads but also did it at a great speed. You can download my sample and read how I built it from: Pick Your Azure File Upload Control: Silverlight and TPL or HTML5 and AJAX