• NeonSDK
  • NeonKUBE
Search Results for

    Show / Hide Table of Contents
    • Neon
      • Build
    • Neon.Blazor
      • BlazorHelper
      • BodyOutlet
      • ClientRenderContext
      • DOMRectReadOnly
      • EventHandlers
      • FileDownloader
      • HtmlElement
      • IRenderContext
      • IntersectionChangedEventArgs
      • IntersectionObserver
      • IntersectionObserverContext
      • MobileDetector
      • NeonBlazorExtensions
      • ServerRenderContext
      • SwipeDirection
      • SwipeHandler
    • Neon.Blazor.Analyzers
      • SvgGenerator
      • SvgGenerator.Svg
    • Neon.BuildInfo
      • ThisAssembly
      • ThisAssembly.Git
      • ThisAssembly.Git.BaseVersion
      • ThisAssembly.Git.SemVer
    • Neon.CSharp
      • CSharpHelper
      • CompilerErrorException
      • MetadataReferences
    • Neon.Cassandra
      • KeyspaceStatus
      • RowSetExtensions
      • SchemaManager
      • SchemaManagerException
      • SchemaStatus
      • SessionExtensions
    • Neon.Collections
      • ArgDictionary
      • Bits
      • IObjectDictionary
      • NiceDictionary<TKey, TValue>
      • ObjectDictionary
    • Neon.Common
      • AppDomainExtensions
      • Block
      • BlockArray
      • ByteEncoding
      • ByteUnits
      • CommandLine
      • CommandLine.OptionDefinition
      • CommandLine.Redactor
      • CpuArchitecture
      • Credentials
      • DateTimeExtensions
      • EnumExtensions
      • EnvironmentParser
      • EnvironmentParser.Parser<T>
      • EnvironmentParser.Validator<T>
      • EnvironmentParser.VariableSource
      • ExceptionExtensions
      • ExecuteException
      • ExecuteResponse
      • GlobPattern
      • HexDumpOption
      • HttpClientExtensions
      • HttpResponseMessageExtensions
      • IEnumerableExtensions
      • ILabeled
      • IOExtensions
      • IServiceContainer
      • IStaticDirectoryExtensions
      • LabelSelector
      • LabelSelectorOptions
      • LabelSelector<TItem>
      • NeonAssemblyExtensions
      • NeonExtendedHelper
      • NeonHelper
      • NetFramework
      • NewtonsoftExtensions
      • NotReadyException
      • ProcessExtensions
      • ProgramEntrypoint
      • ProgramEntrypointAsync
      • ProgramExitException
      • ProgramRunner
      • RandomExtensions
      • ReflectionExtensions
      • SemanticVersion
      • ServiceContainer
      • StaticZipOptions
      • StringBuilderExtensions
      • StringExtensions
      • Stub
      • Stub.Value
      • TaskExtensions
      • TimeSpanExtensions
      • ToolException
      • TriState
      • WeakEventController
      • WindowsEdition
      • WindowsFeatureStatus
      • YamlDotNetExtensions
    • Neon.Cryptography
      • AesCipher
      • CryptoExtensions
      • CryptoHelper
      • NeonVault
      • Wildcard
    • Neon.Csv
      • CsvReader
      • CsvTableReader
      • CsvTableWriter
      • CsvWriter
    • Neon.Data
      • DateTimeJsonConverter
      • DateTimeOffsetJsonConverter
      • IEnhancedJsonConverter
      • IGeneratedServiceClient
      • IPersistableType
      • IPersistableType<T>
      • IRoundtripData
      • IntegerEnumConverter<TEnum>
      • NotifyPropertyChanged
      • RoundtripDataFactory
      • RoundtripDataHelper
      • TimeSpanJsonConverter
      • VersionJsonConverter
    • Neon.Deployment
      • AwsCli
      • DeploymentException
      • DeploymentHelper
      • DownloadManifest
      • DownloadPart
      • DownloadProgressDelegate
      • DownloadProgressType
      • GitHub
      • GitHubActionsApi
      • GitHubPackage
      • GitHubPackageApi
      • GitHubPackageType
      • GitHubPackageVersion
      • GitHubPackageVisibility
      • GitHubReleaseApi
      • GitHubRepoPath
      • GitHubTagApi
      • IProfileClient
      • IProfileRequest
      • IProfileResponse
      • MaintainerProfile
      • NotifyClient
      • OnePassword
      • OnePasswordException
      • ProfileException
      • ProfileHandlerResult
      • ProfileRequest
      • ProfileResponse
      • ProfileServer
      • ProfileStatus
      • XenServer
    • Neon.Deployment.CodeSigning
      • AzureProfile
      • CodeSigner
      • UsbTokenProfile
    • Neon.Diagnostics
      • AssertException
      • ConfigExtensions
      • ConsoleJsonLogExporter
      • ConsoleJsonLogExporterOptions
      • ConsoleTextLogExporter
      • ConsoleTextLogExporterOptions
      • ExceptionInfo
      • FileLogExporter
      • FileLogExporterFormat
      • FileLogExporterOptions
      • LogAsTraceProcessor
      • LogAsTraceProcessorOptions
      • LogAttributeNames
      • LogAttributes
      • LogEvent
      • LogEventInterceptor
      • LoggerExtensions
      • NullLogger
      • TelemetryHub
      • TelemetrySpanEventNames
      • TelemetrySpanExtensions
    • Neon.Docker
      • DockerClient
      • DockerNetwork
      • DockerNetworkContainer
      • DockerNetworkIpam
      • DockerNode
      • DockerNodeManagerStatus
      • DockerResponse
      • DockerSettings
      • DockerVolume
      • NetworkCreateResponse
      • ServiceBindOptions
      • ServiceConfig
      • ServiceContainerSpec
      • ServiceCredentialSpec
      • ServiceDetails
      • ServiceDiscreteResourceSpec
      • ServiceDnsConfig
      • ServiceEndpoint
      • ServiceEndpointMode
      • ServiceEndpointPortConfig
      • ServiceEndpointSpec
      • ServiceFile
      • ServiceGenericResources
      • ServiceGlobalSchedulingMode
      • ServiceHealthCheck
      • ServiceIsolationMode
      • ServiceListResponse
      • ServiceLogDriver
      • ServiceMode
      • ServiceMount
      • ServiceMountBindPropagation
      • ServiceMountConsistency
      • ServiceMountType
      • ServiceNamedResourceSpec
      • ServiceNetwork
      • ServicePlacement
      • ServicePlacementPreferences
      • ServicePlacementSpreadSettings
      • ServicePlatform
      • ServicePortMode
      • ServicePortProtocol
      • ServicePrivileges
      • ServiceReplicatedSchedulingMode
      • ServiceResourceSettings
      • ServiceResources
      • ServiceRestartCondition
      • ServiceRestartPolicy
      • ServiceRollbackConfig
      • ServiceRollbackFailureAction
      • ServiceRollbackOrder
      • ServiceSELinuxContext
      • ServiceSchedulingMode
      • ServiceSecret
      • ServiceSpec
      • ServiceTaskTemplate
      • ServiceTmpfsOptions
      • ServiceUpdateConfig
      • ServiceUpdateFailureAction
      • ServiceUpdateOrder
      • ServiceUpdateState
      • ServiceUpdateStatus
      • ServiceVersion
      • ServiceVirtualIP
      • ServiceVolumeDriverConfig
      • ServiceVolumeOptions
      • VolumeListResponse
    • Neon.GitHub
      • GitExtensions
      • GitHubCredentials
      • GitHubRepo
      • LocalRepoApi
      • NoLocalRepositoryException
      • RemoteRepoApi
      • RemoteRepoBranchApi
      • RemoteRepoIssueApi
      • RemoteRepoIssueCommentApi
      • RemoteRepoPath
      • RemoteRepoReleaseApi
      • RemoteRepoTagApi
    • Neon.HyperV
      • HyperVClient
      • HyperVDriverType
      • HyperVException
      • NetAdapter
      • VirtualDrive
      • VirtualIPAddress
      • VirtualMachine
      • VirtualMachineNetworkAdapter
      • VirtualMachineState
      • VirtualNat
      • VirtualSwitch
      • VirtualSwitchType
    • Neon.IO
      • BlockStream
      • FixedLengthStream
      • IStaticDirectory
      • IStaticFile
      • LineEnding
      • LinuxPath
      • LinuxPermissions
      • PreprocessReader
      • RelayStream
      • StaticDirectoryBase
      • StaticFileBase
      • SubStream
      • TempFile
      • TempFolder
    • Neon.JsonConverters
      • JsonDateTimeConverter
      • JsonGenericConverter<T>
      • JsonNullableDateTimeConverter
    • Neon.ModelGen
      • ActionResult<T>
      • ApiVersion
      • ApiVersionAttribute
      • BodyStreamAttribute
      • ControllerValidationAttribute
      • DataModelAttribute
      • EnumMember
      • FromBodyAttribute
      • FromHeaderAttribute
      • FromQueryAttribute
      • FromRouteAttribute
      • GeneratedClientAttribute
      • GeneratedMethodAttribute
      • GeneratedParamAttribute
      • HashSourceAttribute
      • HttpAttribute
      • HttpDeleteAttribute
      • HttpGetAttribute
      • HttpHeadAttribute
      • HttpOptionsAttribute
      • HttpPatchAttribute
      • HttpPostAttribute
      • HttpPutAttribute
      • IActionResult
      • ModelGenerator
      • ModelGeneratorOutput
      • ModelGeneratorSettings
      • NoCodeGenAttribute
      • NoControllerValidationAttribute
      • PassAs
      • PersistableAttribute
      • PersistableKeyAttribute
      • RouteAttribute
      • ServiceModelAttribute
      • TargetAttribute
      • UxFrameworks
    • Neon.Net
      • HttpApiException
      • HttpException
      • JsonClient
      • JsonClientPayload
      • JsonResponse
      • Jwt
      • LocalHostSection
      • NetConst
      • NetHelper
      • NetworkCidr
      • NetworkConfiguration
      • NetworkException
      • NetworkPorts
      • Pinger
      • ReachableHost
      • ReachableHostMode
      • StreamDocument
    • Neon.Postgres
      • ConnectionExtensions
      • DatabaseStatus
      • PreparedCommand
      • ReaderAsyncEnumerator
      • ReaderEnumerator
      • ReaderExtensions
      • SchemaManager
      • SchemaManagerException
      • SchemaStatus
    • Neon.Retry
      • ExponentialRetryPolicy
      • IRetryPolicy
      • LinearRetryPolicy
      • NoRetryPolicy
      • RetryPolicy
      • RetryPolicyBase
      • RetryTransientArgs
      • TransientDetector
      • TransientException
    • Neon.Roslyn
      • DisplayFormat
      • DocumentationComment
      • DocumentationItem
      • MetadataLoadContext
      • RoslynAssembly
      • RoslynConstructorInfo
      • RoslynCustomAttributeData
      • RoslynExtensions
      • RoslynFieldInfo
      • RoslynMethodInfo
      • RoslynParameterInfo
      • RoslynPropertyInfo
      • RoslynType
      • SharedUtilities
    • Neon.Roslyn.Xunit
      • AdditionalSourceText
      • CompilationOptions
      • CompilationOptionsProvider
      • TestCompilation
      • TestCompilationAssertions
      • TestCompilationBuilder
      • TestCompilationBuilderExtensions
      • TestCompilationExtensions
    • Neon.SSH
      • CommandBundle
      • CommandFile
      • CommandResponse
      • HostFolders
      • IBashCommandFormatter
      • ILinuxSshProxy
      • LinuxDiskInfo
      • LinuxDiskPartition
      • LinuxSshProxy
      • LinuxSshProxy<TMetadata>
      • NamespaceDoc
      • RemoteCommandException
      • RunOptions
      • SshCredentials
      • SshExtensions
      • SshProxyException
    • Neon.Service
      • LogMetricsProcessor
      • MetricsMode
      • MetricsOptions
      • NeonService
      • NeonServiceOptions
      • NeonServiceStatus
      • OtelConfigExtensions
      • OtlpCollectorChecker
      • ProcessTerminator
      • ServiceApiContact
      • ServiceApiInfo
      • ServiceApiLicense
      • ServiceDependencies
      • ServiceDescription
      • ServiceEndpoint
      • ServiceEndpointProtocol
      • ServiceEndpoints
      • ServiceMap
    • Neon.SignalR
      • DependencyInjectionExtensions
      • DnsCache
      • GroupAction
      • GroupCommand
      • IDnsCache
      • Invocation
      • NatsHubLifetimeManager<THub>
      • ProxyConfig
      • ServiceCollectionExtensions
      • ServiceDiscovey
      • SignalrProxyMiddleware
      • SignalrProxyMiddlewareExtensions
      • TracerProviderBuilderExtensions
    • Neon.Tailwind
      • ClickOffEventHandler
      • ComponentEventArgs<TSender>
      • ComponentEventArgs<TSender, TEventArgs>
      • DisclosureState
      • EventHandlerComponentBase<TComponent>
      • HeadlessButton
      • HeadlessDialog
      • HeadlessDialogPanel
      • HeadlessDisclosure
      • HeadlessDisclosureButton
      • HeadlessDisclosurePanel
      • HeadlessListboxButton<TValue>
      • HeadlessListboxLabel<TValue>
      • HeadlessListboxOption<TValue>
      • HeadlessListboxOptions<TValue>
      • HeadlessListbox<TValue>
      • HeadlessMenu
      • HeadlessMenuButton
      • HeadlessMenuItem
      • HeadlessMenuItems
      • HeadlessSwitch
      • HeadlessSwitchGroup
      • HeadlessSwitchLabel
      • IPortalBinder
      • KeyDownEventHandler
      • KeyboardKey
      • ListboxFocus
      • ListboxState
      • MenuFocus
      • MenuState
      • Portal
      • PortalBinder
      • PortalContent
      • SearchAssistant
      • TailwindExtensions
      • Transition
      • TransitionGroup
      • TransitionState
    • Neon.Tasks
      • Async
      • AsyncAutoResetEvent
      • AsyncManualResetEvent
      • AsyncMutex
      • AsyncPeriodicTask
      • AsyncReaderWriterLock
      • AsyncReentrantMutex
      • AsyncTimer
      • IAsyncFuture
      • IAsyncFuture<T>
      • NonDisposableTask
      • NonDisposableTask<T>
      • SyncContext
      • SyncContextMode
    • Neon.Temporal
      • ActivityHelper
      • ActivityLogEnricher
      • TemporalEnricherTagNames
      • WorkflowLogEnricher
    • Neon.Time
      • GatedTimer
      • GoDuration
      • PolledTimer
      • RecurringTimer
      • RecurringTimerType
      • SysTime
      • TimeOfDay
    • Neon.WSL
      • Wsl2Proxy
    • Neon.Web
      • AesProtector
      • DataProtectionExtensions
      • NeonController
      • NeonControllerBase
      • RoundTripJsonInputFormatter
      • RoundTripJsonOutputFormatter
      • TracerProviderBuilderExtensions
      • WebHelper
    • Neon.WinTTY
      • ConsoleTTY
    • Neon.Windows
      • MEMORYSTATUSEX
      • PowerShellException
      • Win32
    • Neon.XenServer
      • IXenClient
      • XenClient
      • XenClient.MachineOperations
      • XenClient.StorageOperations
      • XenClient.TemplateOperations
      • XenException
      • XenHostInfo
      • XenObject
      • XenResponse
      • XenStorageRepository
      • XenTempIso
      • XenTemplate
      • XenVirtualDisk
      • XenVirtualMachine
      • XenVmPowerState
    • Neon.Xunit
      • AnsiblePlayResults
      • AnsiblePlayer
      • AnsibleTaskResult
      • AspNetFixture
      • BasicFixture
      • CodeFixture
      • CollectionComparer<T>
      • ComposedFixture
      • ContainerFixture
      • ContainerLimits
      • DockerComposeFixture
      • DockerFixture
      • DockerFixture.ConfigInfo
      • DockerFixture.ContainerInfo
      • DockerFixture.NetworkInfo
      • DockerFixture.SecretInfo
      • DockerFixture.ServiceInfo
      • DockerFixture.StackDefinition
      • DockerFixture.StackInfo
      • DockerFixture.StackService
      • EnvironmentFixture
      • HostsFixture
      • ITestFixture
      • IncompatibleServiceException
      • MaintainerFactAttribute
      • MaintainerTheoryAttribute
      • MockHttpServer
      • MockHttpServerExtensions
      • NatsFixture
      • NatsStreamingFixture
      • NeonServiceFixture<TService>
      • PlatformFactAttribute
      • RepeatAttribute
      • TargetPlatforms
      • TestArea
      • TestCollection
      • TestContext
      • TestFixture
      • TestFixtureStatus
      • TestHelper
      • TestHttpClient
      • TestOutputWriter
      • TestTrait
      • XunitExtensions
    • Neon.Xunit.YugaByte
      • YugaByteFixture
    • Neon.YugaByte
      • YugaByteHelper

    Class DeploymentHelper

    Deployment related defintions and utilities.

    Inheritance
    object
    DeploymentHelper
    Namespace: Neon.Deployment
    Assembly: Neon.Deployment.dll
    Syntax
    public static class DeploymentHelper

    Fields

    DownloadManifestContentType

    The HTTP Content-Type used for multi-part download manifest.

    Declaration
    public const string DownloadManifestContentType = "application/vnd+neonforge.download+manifest+json"
    Field Value
    Type Description
    string

    NeonProfileServicePipe

    Identifies the named pipe used to communicate with the Neon profile service running on the local workstation to query for user profile information as well as secrets.

    Declaration
    public const string NeonProfileServicePipe = "neon-profile-service"
    Field Value
    Type Description
    string

    Methods

    ClearPowershellHistory()

    Clears the Powershell command history. It's possible that scripts and GitHub workflow runs may leave sensitive information in the command history which could become a security vunerability.

    Declaration
    public static void ClearPowershellHistory()

    DownloadMultiPart(DownloadManifest, string, DownloadProgressDelegate, IRetryPolicy, TimeSpan, bool)

    Synchronously downloads and assembles a multi-part file as specified by a DownloadManifest.

    Declaration
    public static void DownloadMultiPart(DownloadManifest download, string targetPath, DownloadProgressDelegate progressAction = null, IRetryPolicy retry = null, TimeSpan partTimeout = default, bool strictCheck = false)
    Parameters
    Type Name Description
    DownloadManifest download

    The download details.

    string targetPath

    The target file path.

    DownloadProgressDelegate progressAction

    Optionally specifies an action to be called with the the percentage downloaded.

    IRetryPolicy retry

    Optionally specifies the retry policy. This defaults to a reasonable policy.

    TimeSpan partTimeout

    Optionally specifies the HTTP download timeout for each part (defaults to 10 minutes).

    bool strictCheck

    Optionally used to enable a slow but more comprehensive check of any existing file. When this is enabled and the download file already exists along with its MD5 hash file, the method will assume that the existing file matches when the file size is the same as specified in the manifest and manifest overall MD5 matches the local MD5 file.

    Otherwise, this method will need to compute the MD5 hashes for the existing file parts and compare those to the part MD5 hashes in the manifest, which can take quite a while for large files.

    This defaults to false.

    Exceptions
    Type Condition
    IOException

    Thrown when the download is corrupt.

    SocketException

    Thrown for network errors.

    HttpException

    Thrown for HTTP network errors.

    OperationCanceledException

    Thrown when the operation was cancelled.

    DownloadMultiPart(string, string, DownloadProgressDelegate, IRetryPolicy, TimeSpan, bool)

    Asynchronously downloads and assembles a multi-part file as specified by a source URI.

    Declaration
    public static void DownloadMultiPart(string uri, string targetPath, DownloadProgressDelegate progressAction = null, IRetryPolicy retry = null, TimeSpan partTimeout = default, bool strictCheck = true)
    Parameters
    Type Name Description
    string uri

    The URI for the source URI holding the DownloadManifest details as JSON.

    string targetPath

    The target file path.

    DownloadProgressDelegate progressAction

    Optionally specifies an action to be called with the the percentage downloaded.

    IRetryPolicy retry

    Optionally specifies the retry policy. This defaults to a reasonable policy.

    TimeSpan partTimeout

    Optionally specifies the HTTP download timeout for each part (defaults to 10 minutes).

    bool strictCheck

    Optionally used to enable a slow but more comprehensive check of any existing file. When this is enabled and the download file already exists along with its MD5 hash file, the method will assume that the existing file matches when the file size is the same as specified in the manifest and manifest overall MD5 matches the local MD5 file.

    Otherwise, this method will need to compute the MD5 hashes for the existing file parts and compare those to the part MD5 hashes in the manifest, which can take quite a while for large files.

    This defaults to false.

    Exceptions
    Type Condition
    IOException

    Thrown when the download is corrupt.

    SocketException

    Thrown for network errors.

    HttpException

    Thrown for HTTP network errors.

    OperationCanceledException

    Thrown when the operation was cancelled.

    FormatException

    Thrown when the object retrieved from uri doesn't have the DownloadManifestContentType content type.

    DownloadMultiPartAsync(DownloadManifest, string, DownloadProgressDelegate, TimeSpan, IRetryPolicy, bool, CancellationToken)

    Asynchronously downloads and assembles a multi-part file as specified by a DownloadManifest.

    Declaration
    public static Task<string> DownloadMultiPartAsync(DownloadManifest manifest, string targetPath, DownloadProgressDelegate progressAction = null, TimeSpan partTimeout = default, IRetryPolicy retry = null, bool strictCheck = false, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    DownloadManifest manifest

    The download details.

    string targetPath

    The target file path.

    DownloadProgressDelegate progressAction

    Optionally specifies an action to be called with the the percentage downloaded.

    TimeSpan partTimeout

    Optionally specifies the HTTP download timeout for each part (defaults to 10 minutes).

    IRetryPolicy retry

    Optionally specifies the retry policy. This defaults to a reasonable policy.

    bool strictCheck

    Optionally used to disable a slow but more comprehensive check of any existing file. When this is disabled and the download file already exists along with its MD5 hash file, the method will assume that the existing file matches when the file size is the same as specified in the manifest and manifest overall MD5 matches the local MD5 file.

    Otherwise when strictCheck is true, this method will need to compute the MD5 hashes for the existing file parts and compare those to the part MD5 hashes in the manifest, which can take quite a while for large files.

    This defaults to true.

    CancellationToken cancellationToken

    Optionally specifies the operation cancellation token.

    Returns
    Type Description
    Task<string>

    The path to the downloaded file.

    Remarks

    This method downloads the file specified by manifest to the folder specified, creating the folder first when required. The file will be downloaded in parts, where each part will be validated by comparing the part's MD5 hash (when present) with the computed value. The output file will be named Name and the overall MD5 hash will also be saved using the same file name but adding the .md5 extension.

    This method will continue downloading a partially downloaded file. This works by validating the already downloaded parts against their MD5 hashes and then continuing part downloads after the last valid part. Nothing will be downloaded when the existing file is fully formed.

    note

    The target files (output and MD5) will be deleted when download appears to be corrupt.

    Exceptions
    Type Condition
    IOException

    Thrown when the download is corrupt.

    SocketException

    Thrown for network errors.

    HttpException

    Thrown for HTTP network errors.

    OperationCanceledException

    Thrown when the operation was cancelled.

    DownloadMultiPartAsync(string, string, DownloadProgressDelegate, TimeSpan, IRetryPolicy, bool, CancellationToken)

    Asynchronously downloads and assembles a multi-part file as specified by a DownloadManifest.

    Declaration
    public static Task<string> DownloadMultiPartAsync(string uri, string targetPath, DownloadProgressDelegate progressAction = null, TimeSpan partTimeout = default, IRetryPolicy retry = null, bool strictCheck = false, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    string uri

    The URI for the source URI holding the DownloadManifest details as JSON.

    string targetPath

    The target file path.

    DownloadProgressDelegate progressAction

    Optionally specifies an action to be called with the the percentage downloaded.

    TimeSpan partTimeout

    Optionally specifies the HTTP download timeout for each part (defaults to 10 minutes).

    IRetryPolicy retry

    Optionally specifies the retry policy. This defaults to a reasonable policy.

    bool strictCheck

    Optionally used to enable a slow but more comprehensive check of any existing file. When this is enabled and the download file already exists along with its MD5 hash file, the method will assume that the existing file matches when the file size is the same as specified in the manifest and manifest overall MD5 matches the local MD5 file.

    Otherwise, this method will need to compute the MD5 hashes for the existing file parts and compare those to the part MD5 hashes in the manifest, which can take quite a while for large files.

    This defaults to false.

    CancellationToken cancellationToken

    Optionally specifies the operation cancellation token.

    Returns
    Type Description
    Task<string>

    The path to the downloaded file.

    Remarks

    This method downloads the file specified by uri to the folder specified, creating the folder first when required. The file will be downloaded in parts, where each part will be validated by comparing the part's MD5 hash (when present) with the computed value. The output file will be named Name and the overall MD5 hash will also be saved using the same file name but adding the .md5 extension.

    This method will continue downloading a partially downloaded file. This works by validating the already downloaded parts against their MD5 hashes and then continuing part downloads after the last valid part. Nothing will be downloaded when the existing file is fully formed.

    note

    The target files (output and MD5) will be deleted when download appears to be corrupt.

    Exceptions
    Type Condition
    IOException

    Thrown when the download is corrupt.

    SocketException

    Thrown for network errors.

    HttpException

    Thrown for HTTP network errors.

    OperationCanceledException

    Thrown when the operation was cancelled.

    FormatException

    Thrown when the object retrieved from uri doesn't have the DownloadManifestContentType content type.

    In this article
    Back to top © Copyright 2005-2023 by NEONFORGE LLC