小编dev*_*520的帖子

后台任务中的.Net Core 通道

我想在后台服务中使用chanel,但是在运行我的代码时出现此错误,我需要做什么。

抱歉英语不好

尝试激活“SendEmailService”时无法解析类型“System.Threading.Channels.ChannelReader`1[SendMailChanel]”的服务

public class SendMailChanel
    {
        public List<SendMail> SendMails { get; set; }
        public List<string> MailTos { get; set; }
    }

public class SendEmailService: BackgroundService
{
      
        private readonly ChannelReader<SendMailChanel> _channel;

        public HostedService(         
            ChannelReader<SendMailChanel> channel)
        {
            _channel = channel;
        }

        protected override async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            await foreach (var item in _channel.ReadAllAsync(cancellationToken))
            {
                try
                {
                    // do your work with data
                }
                catch (Exception e)
                {
                    
                }
            }
        }
}

[ApiController]
[Route("api/data/upload")]
public class UploadController : ControllerBase
{
    private …
Run Code Online (Sandbox Code Playgroud)

c# channel .net-core

1
推荐指数
1
解决办法
3388
查看次数

标签 统计

.net-core ×1

c# ×1

channel ×1