As a comment to an Azure question just now, @smarx noted
I think it\'s generally better to do blob.Uri.AbsoluteUri than blob.Uri.ToString().
Given for example:
UriBuilder builder = new UriBuilder("http://somehost/somepath");
builder.Query = "somekey=" + HttpUtility.UrlEncode("some+value");
Uri someUri = builder.Uri;
In this case,
Uri.ToString() will return a human-readable URL: http://somehost/somepath?somekey=some+value
Uri.AbsoluteUri on the other hand will return the encoded form as HttpUtility.UrlEncode returned it: http://somehost/somepath?somekey=some%2bvalue