Catch exceptions during update, use webrequest ContentLength instead of Stream.Length