Exemple #1
0
        void ExtractEntry(string directory, ZipArchiveEntry entry)
        {
#if NET40
            entry.WriteToDirectory(directory, new PackageExtractionOptions(log));
#else
            var extractAttempts = 10;
            Policy.Handle <IOException>().WaitAndRetry(
                retryCount: extractAttempts,
                sleepDurationProvider: i => TimeSpan.FromMilliseconds(50),
                onRetry: (ex, retry) => { log.Verbose($"Failed to extract: {ex.Message}. Retry in {retry.Milliseconds} milliseconds."); })
            .Execute(() =>
            {
                entry.WriteToDirectory(directory, new PackageExtractionOptions(log));
            });
#endif
        }
Exemple #2
0
        static void ExtractEntry(string directory, ZipArchiveEntry entry)
        {
#if NET40
            entry.WriteToDirectory(directory, new ExtractionOptions {
                ExtractFullPath = true, Overwrite = true, PreserveFileTime = true, WriteSymbolicLink = WriteSymbolicLink
            });
#else
            var extractAttempts = 10;
            Policy.Handle <IOException>().WaitAndRetry(
                retryCount: extractAttempts,
                sleepDurationProvider: i => TimeSpan.FromMilliseconds(50),
                onRetry: (ex, retry) => { Log.Verbose($"Failed to extract: {ex.Message}. Retry in {retry.Milliseconds} milliseconds."); })
            .Execute(() =>
            {
                entry.WriteToDirectory(directory, new ExtractionOptions {
                    ExtractFullPath = true, Overwrite = true, PreserveFileTime = true, WriteSymbolicLink = WriteSymbolicLink
                });
            });
#endif
        }