我正在尝试在 AspNet Core 2.1 应用程序中使用 的实现BackgroundService。我在其中创建一个 FileSystemWatcherExecuteAsync并链接关联的事件,但是,fsw 事件要么从未触发(无法访问?已处理?),要么是我做错了,这是异步的,或者范围混乱。我似乎无法弄清楚。以下是相关代码。
public class FSWImpl : BackgroundService
{
private readonly IHostingEnvironment _env;
private readonly ILogger<LiftAndShift> _logger;
private FileSystemWatcher _fsw;
public LiftAndShift(IHostingEnvironment env, ILogger<FSWImpl> logger)
{
_env = env;
_logger = logger;
}
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
_logger.LogInformation("Creating new FSW");
var path = Path.Combine(_env.ContentRootPath, "WebData");
_fsw = new FileSystemWatcher(path,"*.json");
_fsw.Created += _fsw_Created;
_fsw.Changed += _fsw_Changed;
_fsw.Renamed += _fsw_Renamed;
_fsw.Error += _fsw_Error;
return Task.CompletedTask;
}
private void _fsw_Error(object sender, ErrorEventArgs …Run Code Online (Sandbox Code Playgroud) 我正在收集用户从列表框中选择的所有项目,并在我的应用程序的文本框中输入值。但是,我从 myListBox.SelectedItems 收到的项目始终是排序的,而我需要保留用户选择这些项目的顺序。
我正在使用Winforms。我知道 WPF 中的列表框返回我想要的内容,但我不使用 WPF,只是简单的 winform 和 C#。