本文整理汇总了C#中FileRequestOptions类的典型用法代码示例。如果您正苦于以下问题:C# FileRequestOptions类的具体用法?C# FileRequestOptions怎么用?C# FileRequestOptions使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FileRequestOptions类属于命名空间,在下文中一共展示了FileRequestOptions类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: BeginOpenRead
public virtual ICancellableAsyncResult BeginOpenRead(AccessCondition accessCondition, FileRequestOptions options, OperationContext operationContext, AsyncCallback callback, object state)
{
StorageAsyncResult<Stream> storageAsyncResult = new StorageAsyncResult<Stream>(callback, state);
operationContext = operationContext ?? new OperationContext();
ICancellableAsyncResult result = this.BeginFetchAttributes(
accessCondition,
options,
operationContext,
ar =>
{
try
{
this.EndFetchAttributes(ar);
storageAsyncResult.UpdateCompletedSynchronously(ar.CompletedSynchronously);
AccessCondition streamAccessCondition = AccessCondition.CloneConditionWithETag(accessCondition, this.Properties.ETag);
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient, false);
storageAsyncResult.Result = new FileReadStream(this, streamAccessCondition, modifiedOptions, operationContext);
storageAsyncResult.OnComplete();
}
catch (Exception e)
{
storageAsyncResult.OnComplete(e);
}
},
null /* state */);
storageAsyncResult.CancelDelegate = result.Cancel;
return storageAsyncResult;
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:30,代码来源:CloudFile.cs
示例2: FileOpen
/// <inheritdoc />
public override Stream FileOpen(Database db, FileAccess fileAccess, ref string errorMessage, FileMode fileMode = FileMode.Open, bool excusiveAccess = false, int waitOverride = -1, bool signalError = true)
{
if (waitOverride == -1)
waitOverride = WaitForLockMilliseconds;
if (db.FileStream != null && ((db.FileStream.CanRead == false && fileAccess == FileAccess.Read) ||
(db.FileStream.CanWrite == false && (excusiveAccess || fileAccess == FileAccess.ReadWrite))))
{
db.FileStream.Dispose();
db.FileStream = null;
}
if (db.FileStream == null)
if (excusiveAccess)
{
CloudFile cloudFile = m_databaseDir.GetFileReference(db.FileInfo.Name);
FileRequestOptions fileRequestOptions = new FileRequestOptions();
fileRequestOptions.ServerTimeout = TimeSpan.FromMilliseconds(waitOverride);
fileRequestOptions.ParallelOperationThreadCount = 1;
if (fileAccess == FileAccess.Read)
db.FileStream = cloudFile.OpenRead(null, fileRequestOptions);
else
db.FileStream = cloudFile.OpenWrite(s_initialFileSize, null, fileRequestOptions);
//db.FileInfo, fileAccess, ref errorMessage, FileShare.None, fileMode, waitOverride, UseExternalStorageApi, signalError);
}
else
{
CloudFile cloudFile = m_databaseDir.GetFileReference(db.FileInfo.Name);
FileRequestOptions fileRequestOptions = new FileRequestOptions();
fileRequestOptions.ServerTimeout = TimeSpan.FromMilliseconds(waitOverride);
if (fileAccess == FileAccess.Read)
db.FileStream = cloudFile.OpenRead(null, fileRequestOptions);
else
db.FileStream = cloudFile.OpenWrite(s_initialFileSize, null, fileRequestOptions);
}
return db.FileStream;
}
开发者ID:VelocityDB,项目名称:VelocityDB,代码行数:36,代码来源:AzureSession.cs
示例3: SerializableFileRequestOptions
/// <summary>
/// Initializes a new instance of the <see cref="SerializableFileRequestOptions"/> class.
/// </summary>
/// <param name="info">Serialization information.</param>
/// <param name="context">Streaming context.</param>
private SerializableFileRequestOptions(SerializationInfo info, StreamingContext context)
: base(info, context)
{
bool? disableContentMD5Validation = (bool?)info.GetValue(DisableContentMD5ValidationName, typeof(bool?));
TimeSpan? maximumExecutionTime = (TimeSpan?)info.GetValue(MaximumExecutionTimeName, typeof(TimeSpan?));
TimeSpan? serverTimeout = (TimeSpan?)info.GetValue(ServerTimeoutName, typeof(TimeSpan?));
bool? storeFileContentMD5 = (bool?)info.GetValue(StoreFileContentMD5Name, typeof(bool?));
bool? useTransactionalMD5 = (bool?)info.GetValue(UseTransactionalMD5Name, typeof(bool?));
if (null != disableContentMD5Validation
|| null != maximumExecutionTime
|| null != serverTimeout
|| null != storeFileContentMD5
|| null != useTransactionalMD5)
{
this.fileRequestOptions = Transfer_RequestOptions.DefaultFileRequestOptions;
this.fileRequestOptions.DisableContentMD5Validation = disableContentMD5Validation;
this.fileRequestOptions.MaximumExecutionTime = maximumExecutionTime;
this.fileRequestOptions.ServerTimeout = serverTimeout;
this.fileRequestOptions.StoreFileContentMD5 = storeFileContentMD5;
this.fileRequestOptions.UseTransactionalMD5 = useTransactionalMD5;
}
else
{
this.fileRequestOptions = null;
}
}
开发者ID:ggais,项目名称:azure-storage-net-data-movement,代码行数:33,代码来源:SerializableFileRequestOptions.cs
示例4: OpenRead
public virtual Stream OpenRead(AccessCondition accessCondition = null, FileRequestOptions options = null, OperationContext operationContext = null)
{
operationContext = operationContext ?? new OperationContext();
this.FetchAttributes(accessCondition, options, operationContext);
AccessCondition streamAccessCondition = AccessCondition.CloneConditionWithETag(accessCondition, this.Properties.ETag);
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient, false);
return new FileReadStream(this, streamAccessCondition, modifiedOptions, operationContext);
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:8,代码来源:CloudFile.cs
示例5: Create
public virtual void Create(FileRequestOptions requestOptions = null, OperationContext operationContext = null)
{
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(requestOptions, this.ServiceClient);
Executor.ExecuteSync(
this.CreateDirectoryImpl(modifiedOptions),
modifiedOptions.RetryPolicy,
operationContext);
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:8,代码来源:CloudFileDirectory.cs
示例6: DownloadTextAsync
public static async Task<string> DownloadTextAsync(CloudFile file, Encoding encoding, AccessCondition accessCondition = null, FileRequestOptions options = null, OperationContext operationContext = null)
{
using (MemoryStream stream = new MemoryStream())
{
await file.DownloadToStreamAsync(stream, accessCondition, options, operationContext);
return encoding.GetString(stream.ToArray(), 0, (int)stream.Length);
}
}
开发者ID:tamram,项目名称:azure-storage-net,代码行数:8,代码来源:FileTestBase.cs
示例7: CreateAsync
public IAsyncAction CreateAsync(FileRequestOptions options, OperationContext operationContext)
{
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient);
return AsyncInfo.Run(async (token) => await Executor.ExecuteAsyncNullReturn(
this.CreateDirectoryImpl(modifiedOptions),
modifiedOptions.RetryPolicy,
operationContext,
token));
}
开发者ID:DaC24,项目名称:azure-storage-net,代码行数:9,代码来源:CloudFileDirectory.cs
示例8: CreateAsync
public virtual Task CreateAsync(FileRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken)
{
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient);
return Task.Run(async() => await Executor.ExecuteAsyncNullReturn(
this.CreateDirectoryImpl(modifiedOptions),
modifiedOptions.RetryPolicy,
operationContext,
cancellationToken), cancellationToken);
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:9,代码来源:CloudFileDirectory.cs
示例9: BeginCreate
public virtual ICancellableAsyncResult BeginCreate(FileRequestOptions options, OperationContext operationContext, AsyncCallback callback, object state)
{
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient);
return Executor.BeginExecuteAsync(
this.CreateDirectoryImpl(modifiedOptions),
modifiedOptions.RetryPolicy,
operationContext,
callback,
state);
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:10,代码来源:CloudFileDirectory.cs
示例10: UploadTextAsync
public static async Task UploadTextAsync(CloudFile file, string text, Encoding encoding, AccessCondition accessCondition = null, FileRequestOptions options = null, OperationContext operationContext = null)
{
byte[] textAsBytes = encoding.GetBytes(text);
using (MemoryStream stream = new MemoryStream())
{
stream.Write(textAsBytes, 0, textAsBytes.Length);
stream.Seek(0, SeekOrigin.Begin);
file.ServiceClient.DefaultRequestOptions.ParallelOperationThreadCount = 2;
await file.UploadFromStreamAsync(stream, accessCondition, options, operationContext);
}
}
开发者ID:tamram,项目名称:azure-storage-net,代码行数:11,代码来源:FileTestBase.cs
示例11: FetchShareAttributesAsync
public Task FetchShareAttributesAsync(CloudFileShare share, AccessCondition accessCondition, FileRequestOptions options, OperationContext operationContext, CancellationToken token)
{
if (this.availableShareNames.Contains(share.Name))
{
return TaskEx.FromResult(true);
}
else
{
throw new MockupException("ShareNotExist");
}
}
开发者ID:Indhukrishna,项目名称:azure-powershell,代码行数:11,代码来源:MockStorageFileManagement.cs
示例12: OpenReadAsync
public virtual Task<Stream> OpenReadAsync(AccessCondition accessCondition, FileRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken)
{
operationContext = operationContext ?? new OperationContext();
return Task.Run<Stream>(async () =>
{
await this.FetchAttributesAsync(accessCondition, options, operationContext);
AccessCondition streamAccessCondition = AccessCondition.CloneConditionWithETag(accessCondition, this.Properties.ETag);
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient, false);
return new FileReadStream(this, streamAccessCondition, modifiedOptions, operationContext);
}, cancellationToken);
}
开发者ID:mirobers,项目名称:azure-storage-net,代码行数:11,代码来源:CloudFile.cs
示例13: OpenReadAsync
public IAsyncOperation<IRandomAccessStreamWithContentType> OpenReadAsync(AccessCondition accessCondition, FileRequestOptions options, OperationContext operationContext)
{
operationContext = operationContext ?? new OperationContext();
return AsyncInfo.Run<IRandomAccessStreamWithContentType>(async (token) =>
{
await this.FetchAttributesAsync(accessCondition, options, operationContext);
AccessCondition streamAccessCondition = AccessCondition.CloneConditionWithETag(accessCondition, this.Properties.ETag);
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient, false);
return new FileReadStreamHelper(this, streamAccessCondition, modifiedOptions, operationContext);
});
}
开发者ID:DaC24,项目名称:azure-storage-net,代码行数:11,代码来源:CloudFile.cs
示例14: ListFilesAndDirectoriesAsync
public static async Task<IEnumerable<IListFileItem>> ListFilesAndDirectoriesAsync(CloudFileDirectory directory, int? maxResults, FileRequestOptions options, OperationContext operationContext)
{
List<IListFileItem> results = new List<IListFileItem>();
FileContinuationToken token = null;
do
{
FileResultSegment resultSegment = await directory.ListFilesAndDirectoriesSegmentedAsync(maxResults, token, options, operationContext);
results.AddRange(resultSegment.Results);
token = resultSegment.ContinuationToken;
}
while (token != null);
return results;
}
开发者ID:tamram,项目名称:azure-storage-net,代码行数:13,代码来源:FileTestBase.cs
示例15: WindowsPhoneDoesNotSupportMD5
public void WindowsPhoneDoesNotSupportMD5()
{
FileRequestOptions options = new FileRequestOptions();
Assert.ThrowsException<NotSupportedException>(
() => options.DisableContentMD5Validation = false,
"MD5 flags should not work on Windows Phone");
Assert.ThrowsException<NotSupportedException>(
() => options.UseTransactionalMD5 = true,
"MD5 flags should not work on Windows Phone");
Assert.ThrowsException<NotSupportedException>(
() => options.StoreFileContentMD5 = true,
"MD5 flags should not work on Windows Phone");
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:13,代码来源:MD5FlagsTest.cs
示例16: EnumerateFilesAndDirectoriesAsync
public async Task EnumerateFilesAndDirectoriesAsync(CloudFileDirectory directory, Action<IListFileItem> enumerationAction, FileRequestOptions options, OperationContext operationContext, CancellationToken token)
{
FileContinuationToken continuationToken = null;
do
{
var segment = await directory.ListFilesAndDirectoriesSegmentedAsync(null, continuationToken, options, operationContext, token);
foreach (var item in segment.Results)
{
enumerationAction(item);
}
continuationToken = segment.ContinuationToken;
}
while (continuationToken != null);
}
开发者ID:NordPool,项目名称:azure-sdk-tools,代码行数:15,代码来源:StorageFileManagement.cs
示例17: EnumerateFilesAndDirectoriesAsync
public Task EnumerateFilesAndDirectoriesAsync(CloudFileDirectory directory, Action<IListFileItem> enumerationAction, FileRequestOptions options, OperationContext operationContext, CancellationToken token)
{
IListFileItem[] enumerationItems;
if (this.enumerationResults.TryGetValue(directory.Name, out enumerationItems))
{
foreach (var item in enumerationItems)
{
enumerationAction(item);
}
return TaskEx.FromResult(true);
}
else
{
throw new MockupException("DirectoryNotFound");
}
}
开发者ID:Indhukrishna,项目名称:azure-powershell,代码行数:17,代码来源:MockStorageFileManagement.cs
示例18: FileStoreContentMD5TestAsync
public async Task FileStoreContentMD5TestAsync()
{
FileRequestOptions optionsWithNoMD5 = new FileRequestOptions()
{
StoreFileContentMD5 = false,
};
FileRequestOptions optionsWithMD5 = new FileRequestOptions()
{
StoreFileContentMD5 = true,
};
CloudFileShare share = GetRandomShareReference();
try
{
await share.CreateAsync();
CloudFile file = share.GetRootDirectoryReference().GetFileReference("file4");
using (Stream stream = new MemoryStream())
{
await file.UploadFromStreamAsync(stream, null, optionsWithMD5, null);
}
await file.FetchAttributesAsync();
Assert.IsNotNull(file.Properties.ContentMD5);
file = share.GetRootDirectoryReference().GetFileReference("file5");
using (Stream stream = new MemoryStream())
{
await file.UploadFromStreamAsync(stream, null, optionsWithNoMD5, null);
}
await file.FetchAttributesAsync();
Assert.IsNull(file.Properties.ContentMD5);
file = share.GetRootDirectoryReference().GetFileReference("file6");
using (Stream stream = new MemoryStream())
{
await file.UploadFromStreamAsync(stream);
}
await file.FetchAttributesAsync();
Assert.IsNull(file.Properties.ContentMD5);
}
finally
{
share.DeleteIfExistsAsync().Wait();
}
}
开发者ID:mirobers,项目名称:azure-storage-net,代码行数:45,代码来源:FileMD5FlagsTest.cs
示例19: FileReadStreamBase
/// <summary>
/// Initializes a new instance of the <see cref="FileReadStreamBase"/> class.
/// </summary>
/// <param name="file">File reference to read from</param>
/// <param name="accessCondition">An <see cref="AccessCondition"/> object that represents the access conditions for the file. If <c>null</c>, no condition is used.</param>
/// <param name="options">An <see cref="FileRequestOptions"/> object that specifies additional options for the request.</param>
/// <param name="operationContext">An <see cref="OperationContext"/> object for tracking the current operation.</param>
protected FileReadStreamBase(CloudFile file, AccessCondition accessCondition, FileRequestOptions options, OperationContext operationContext)
{
if (options.UseTransactionalMD5.Value)
{
CommonUtility.AssertInBounds("StreamMinimumReadSizeInBytes", file.StreamMinimumReadSizeInBytes, 1, Constants.MaxRangeGetContentMD5Size);
}
this.file = file;
this.fileProperties = new FileProperties(file.Properties);
this.currentOffset = 0;
this.streamMinimumReadSizeInBytes = this.file.StreamMinimumReadSizeInBytes;
this.internalBuffer = new MultiBufferMemoryStream(file.ServiceClient.BufferManager);
this.accessCondition = accessCondition;
this.options = options;
this.operationContext = operationContext;
this.fileMD5 = (this.options.DisableContentMD5Validation.Value || string.IsNullOrEmpty(this.fileProperties.ContentMD5)) ? null : new MD5Wrapper();
this.lastException = null;
}
开发者ID:Gajendra-Bahakar,项目名称:azure-storage-net,代码行数:25,代码来源:FileReadStreamBase.cs
示例20: CreateIfNotExistsAsync
public IAsyncOperation<bool> CreateIfNotExistsAsync(FileRequestOptions options, OperationContext operationContext)
{
FileRequestOptions modifiedOptions = FileRequestOptions.ApplyDefaults(options, this.ServiceClient);
operationContext = operationContext ?? new OperationContext();
return AsyncInfo.Run(async (token) =>
{
bool exists = await this.ExistsAsync(modifiedOptions, operationContext).AsTask(token);
if (exists)
{
return false;
}
try
{
await this.CreateAsync(modifiedOptions, operationContext).AsTask(token);
return true;
}
catch (Exception)
{
if (operationContext.LastResult.HttpStatusCode == (int)HttpStatusCode.Conflict)
{
StorageExtendedErrorInformation extendedInfo = operationContext.LastResult.ExtendedErrorInformation;
if ((extendedInfo == null) ||
(extendedInfo.ErrorCode == FileErrorCodeStrings.ShareAlreadyExists))
{
return false;
}
else
{
throw;
}
}
else
{
throw;
}
}
});
}
开发者ID:vinaysh-msft,项目名称:azure-storage-net,代码行数:41,代码来源:CloudFileShare.cs
注:本文中的FileRequestOptions类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论