c# - Linux 容器上 Windows 共享的 PhysicalFileProvider 路径
问题描述
我有一项服务使用
物理文件提供者
观看 Windows 共享上的文件。当我在 Windows 上运行此代码时,它可以工作。当我在 docker 容器中运行它时,它不起作用。
我应该如何在我的 appsettings 中指定要在 Linux docker 容器上运行的文件夹路径
public class FileWatcher : BackgroundService
{
private readonly string _folderToWatch;
private PhysicalFileProvider _fileProvider;
private IChangeToken _fileChangeToken;
public FileWatcherBase(string folderToWatch)
{
WatchConfig = watchConfig;
_folderToWatch = folderToWatch;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
_fileProvider = new PhysicalFileProvider(_folderToWatch);
await Task.Run(FolderWatch, stoppingToken);
}
private void FolderWatch()
{
_fileChangeToken = _fileProvider.Watch($"*.txt");
_fileChangeToken.RegisterChangeCallback(Notify, default);
}
private void Notify(object state)
{
// do something
}
}
这是配置中的路径,这是传递给服务的内容 "SourceFolder": "\\\\myshare\\files"
我得到的例外是:
路径必须是绝对的。(参数“根”)在 Microsoft.Extensions.FileProviders.PhysicalFileProvider
如果我将路径设置为
`"SourceFolder": "/myshare/files"`
我得到一个
找不到路径异常
解决方案
推荐阅读
- python-3.x - 计算机视觉图像掩蔽问题
- typescript - 找不到“merge-graphql-schemas”TYPESCRIPT 的声明文件
- api - 微信:是否存在 SDK / API?
- ajax - 如何在 .Net Core 中为 web api ajax 调用启用 cors
- javascript - 将从函数返回的数据传递给聚合物自定义元素
- paypal - 沙盒贝宝集成
- java - 如何在 JAVA 中知道我的 CSV 文件列的数据类型
- c# - Datagridview 值被存储为 Null
- python-3.x - 分页 Webscraping Python3- BS4 - While 循环
- tensorflow - 用于对象检测的训练图像数据集