WCF中HostingEnvironment.QueueBackgroundWorkItem的后台线程

时间:2016-10-01 13:57:58

标签: c# 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;
    }
}

1 个答案:

答案 0 :(得分:0)

我使用了以下内容:

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

            thread.Start();

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