繁体   English   中英

WCF 中带有 HostingEnvironment.QueueBackgroundWorkItem 的后台线程

[英]Background thread with HostingEnvironment.QueueBackgroundWorkItem in WCF

我公开了 WCF 服务,它验证参数并相应地返回 true/false 并运行后台线程来处理结果。 为此,我尝试使用 HostingEnvironment.QueueBackgroundWorkItem 来执行此操作,但它给了我以下错误:

由于对象的当前状态,操作无效。

代码如下:

public class SearchService : ISearchService
{
    public async Task<bool> SearchAsync(UserSearch search, string email)
    {
        //Some operations
        var searchManager = new SearchManager();
        HostingEnvironment.QueueBackgroundWorkItem(ct => searchManager.PerformSearch(search, email));
        return true;
    }
}

我得到它与以下工作:

var thread = new Thread(
                async () =>
                {
                    await searchManager.PerformSearch(search, email);
                }) {IsBackground = true};

            thread.Start();

任何更好的选择请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM