internal static FileRequestOptions ApplyDefaults(FileRequestOptions options, CloudFileClient serviceClient, bool applyExpiry = true) { FileRequestOptions modifiedOptions = new FileRequestOptions(options); modifiedOptions.RetryPolicy = modifiedOptions.RetryPolicy ?? serviceClient.DefaultRequestOptions.RetryPolicy ?? BaseDefaultRequestOptions.RetryPolicy; modifiedOptions.LocationMode = modifiedOptions.LocationMode ?? serviceClient.DefaultRequestOptions.LocationMode ?? BaseDefaultRequestOptions.LocationMode; #if !(WINDOWS_RT || ASPNET_K || PORTABLE) modifiedOptions.RequireEncryption = modifiedOptions.RequireEncryption ?? serviceClient.DefaultRequestOptions.RequireEncryption ?? BaseDefaultRequestOptions.RequireEncryption; #endif modifiedOptions.ServerTimeout = modifiedOptions.ServerTimeout ?? serviceClient.DefaultRequestOptions.ServerTimeout ?? BaseDefaultRequestOptions.ServerTimeout; modifiedOptions.MaximumExecutionTime = modifiedOptions.MaximumExecutionTime ?? serviceClient.DefaultRequestOptions.MaximumExecutionTime ?? BaseDefaultRequestOptions.MaximumExecutionTime; modifiedOptions.ParallelOperationThreadCount = modifiedOptions.ParallelOperationThreadCount ?? serviceClient.DefaultRequestOptions.ParallelOperationThreadCount ?? BaseDefaultRequestOptions.ParallelOperationThreadCount; if (applyExpiry && !modifiedOptions.OperationExpiryTime.HasValue && modifiedOptions.MaximumExecutionTime.HasValue) { modifiedOptions.OperationExpiryTime = DateTime.Now + modifiedOptions.MaximumExecutionTime.Value; } #if WINDOWS_PHONE && WINDOWS_DESKTOP modifiedOptions.DisableContentMD5Validation = BaseDefaultRequestOptions.DisableContentMD5Validation; modifiedOptions.StoreFileContentMD5 = BaseDefaultRequestOptions.StoreFileContentMD5; modifiedOptions.UseTransactionalMD5 = BaseDefaultRequestOptions.UseTransactionalMD5; #else modifiedOptions.DisableContentMD5Validation = modifiedOptions.DisableContentMD5Validation ?? serviceClient.DefaultRequestOptions.DisableContentMD5Validation ?? BaseDefaultRequestOptions.DisableContentMD5Validation; modifiedOptions.StoreFileContentMD5 = modifiedOptions.StoreFileContentMD5 ?? serviceClient.DefaultRequestOptions.StoreFileContentMD5 ?? BaseDefaultRequestOptions.StoreFileContentMD5; modifiedOptions.UseTransactionalMD5 = modifiedOptions.UseTransactionalMD5 ?? serviceClient.DefaultRequestOptions.UseTransactionalMD5 ?? BaseDefaultRequestOptions.UseTransactionalMD5; #endif return(modifiedOptions); }
/// <summary> /// Initializes a new instance of the <see cref="CloudFileShare" /> class. /// </summary> /// <param name="properties">The properties.</param> /// <param name="metadata">The metadata.</param> /// <param name="shareName">The share name.</param> /// <param name="snapshotTime">A <see cref="DateTimeOffset"/> specifying the snapshot timestamp, if the share is a snapshot.</param> /// <param name="serviceClient">The client to be used.</param> internal CloudFileShare(FileShareProperties properties, IDictionary <string, string> metadata, string shareName, DateTimeOffset?snapshotTime, CloudFileClient serviceClient) { this.StorageUri = NavigationHelper.AppendPathToUri(serviceClient.StorageUri, shareName); this.ServiceClient = serviceClient; this.Name = shareName; this.Metadata = metadata; this.Properties = properties; this.SnapshotTime = snapshotTime; }
/// <summary> /// Initializes a new instance of the <see cref="CloudFileShare" /> class. /// </summary> /// <param name="shareName">The share name.</param> /// <param name="snapshotTime">A <see cref="DateTimeOffset"/> specifying the snapshot timestamp, if the share is a snapshot.</param> /// <param name="serviceClient">A client object that specifies the endpoint for the File service.</param> internal CloudFileShare(string shareName, DateTimeOffset?snapshotTime, CloudFileClient serviceClient) : this(new FileShareProperties(), new Dictionary <string, string>(), shareName, snapshotTime, serviceClient) { }
/// <summary> /// Initializes a new instance of the <see cref="CloudFileShare" /> class. /// </summary> /// <param name="shareName">The share name.</param> /// <param name="serviceClient">A client object that specifies the endpoint for the File service.</param> internal CloudFileShare(string shareName, CloudFileClient serviceClient) : this(new FileShareProperties(), new Dictionary <string, string>(), shareName, serviceClient) { }