相关疑难解决方法(0)

具有返回值的Hangfire背景作业

我正在从Task.Run切换到Hangfire.在.NET 4.5+中Task.Run可以返回Task<TResult>,它允许我运行返回除以外的任务void.我通常可以通过访问该属性等待并获得我的任务结果MyReturnedTask.Result

我的旧代码示例:

public void MyMainCode()
{
    List<string> listStr = new List<string>();
    listStr.Add("Bob");
    listStr.Add("Kate");
    listStr.Add("Yaz");

    List<Task<string>> listTasks = new List<Task<string>>();

    foreach(string str in listStr)
    {
        Task<string> returnedTask = Task.Run(() => GetMyString(str));
        listTasks.Add(returnedTask);
    }

    foreach(Task<string> task in listTasks)
    {
        // using task.Result will cause the code to wait for the task if not yet finished.
        // Alternatively, you can use Task.WaitAll(listTasks.ToArray()) to wait for all tasks in the list to …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asynchronous hangfire

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

标签 统计

asp.net ×1

asynchronous ×1

c# ×1

hangfire ×1