25 lines
939 B
C#
25 lines
939 B
C#
namespace CertMgr.Core.Storage;
|
|
|
|
public sealed class FileStorage : Storage<FileStorageContext>
|
|
{
|
|
protected override async Task<StoreResult> DoWriteAsync(Stream source, FileStorageContext context, CancellationToken cancellationToken)
|
|
{
|
|
using (FileStream fs = new FileStream(context.Path, (FileMode)context.Mode, FileAccess.Write, FileShare.None))
|
|
{
|
|
await source.CopyToAsync(fs, cancellationToken).ConfigureAwait(false);
|
|
}
|
|
|
|
return StoreResult.CreateSuccess();
|
|
}
|
|
|
|
protected override async Task<StoreResult> DoReadAsync(Stream target, FileStorageContext context, CancellationToken cancellationToken)
|
|
{
|
|
using (FileStream fs = new FileStream(context.Path, (FileMode)context.Mode, FileAccess.Read, FileShare.Read))
|
|
{
|
|
await fs.CopyToAsync(target, cancellationToken).ConfigureAwait(false);
|
|
}
|
|
|
|
return StoreResult.CreateSuccess();
|
|
}
|
|
}
|