Inheritance: System.Net.WebClient, IWebClient, ITransientService
 static Tuple<IWebClient, Action> OnExportLifetimeContextCreator() {
     var wc = new WebClient();
     return new Tuple<IWebClient, Action>(wc, wc.Dispose);
 }
 string FetchString(Uri uri) {
     using (var wcLifeTime = new WebClient()) {
         new AuthProvider(new AuthProviderSettingsStorage(DomainEvilGlobal.Settings)).HandleAuthInfo(uri, wcLifeTime);
         return wcLifeTime.DownloadString(uri);
     }
 }
 void Download() {
     Directory.CreateDirectory(_tmpLocation);
     using (var wc = new WebClient())
         wc.DownloadFile(_src, _tmpFile);
 }
 async Task Download() {
     Directory.CreateDirectory(_tmpLocation);
     using (var wc = new WebClient())
         await wc.DownloadFileTaskAsync(_downloadUri, _tmpFile).ConfigureAwait(false);
 }