예제 #1
0
 private void UpdateCache(INupkgProvider nupkgProvider, AddPackageCompletedEventArgs eventArgs)
 {
     lock (CachedNuspec)
     {
         var nuspec = Zip.ReadNuspec(eventArgs.FileName);
         if (nuspec == null)
         {
             return;
         }
         nuspec.FilePath = eventArgs.FileName;
         var versionDic = CachedNuspec.GetOrAdd(eventArgs.Id
                                                , id => new ConcurrentDictionary <string, Nuspec>());
         versionDic.AddOrUpdate(eventArgs.Version,
                                nuspec, (version, old) => nuspec);
     }
 }
예제 #2
0
 internal async Task <bool> InvokeAddPackageCompletedAsync(
     object sender,
     AddPackageCompletedEventArgs eventArgs)
 {
     if (AddPackageCompleted == null)
     {
         return(false);
     }
     try
     {
         await Task.Run(() =>
                        AddPackageCompleted( sender, eventArgs ));
     }
     catch
     {
     }
     return(true);
 }
예제 #3
0
 public void OnAddPackageCompleted(object sender,
                                   AddPackageCompletedEventArgs eventArgs)
 => UpdateCache(sender as INupkgProvider, eventArgs);
예제 #4
0
 public void OnAddPackageCompleted(object sender, AddPackageCompletedEventArgs eventArgs)
 {
 }