Files
certmgr/certmgr/Core/Storage/FileStorage.cs
2025-11-02 15:52:04 +01:00

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();
}
}