标签: task

等待任务并静默停止取消或失败

我想写的是以下内容:

async void Foo()
{
    var result = await GetMyTask().IgnoreCancelAndFailure();
    ProcessResult(result);
}
Run Code Online (Sandbox Code Playgroud)

代替:

void Foo()
{
    GetMyTask().ContinueWith(task => ProcessResult(task.Result),
        TaskContinuationOptions.OnlyOnRanToCompletion);
}
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何实现IgnoreCancelAndFailure方法,它具有以下签名:

//On cancel or failure this task should simply stop and never complete.
Task<T> IgnoreCancelAndFailure<T>(this Task<T> task) 
{
     throw new NotImplementedException(); 
}
Run Code Online (Sandbox Code Playgroud)

如果可能,我应该如何实现IgnoreCancelAndFailure?

.net c# task

-2
推荐指数
1
解决办法
788
查看次数

如何等待async void完成?

我需要等待我async void完成.它有一些await Task.Delay功能,我需要它们继续之前完成.这个空格不会返回任何内容,所以我没有看到制作它的理由async Task<>,我也在这个空格内乱洗一个数组,我声明了一些变量.那我该怎么做呢?是async Task<>唯一的方法吗?我的空虚并不期待任何参数/输入.

c# asynchronous task async-await

-2
推荐指数
1
解决办法
5296
查看次数

如何返回Task &lt;int&gt;?

我有以下代码:

static void Main(string[] args)
{
    // start import process
    Task<int> task = StartImportProcess();
    task.Wait();
    // check result

    // process finished
    Console.ReadKey();
}

static async Task<int> StartImportProcess()
{
    int result = 0;
    result = await ImportCustomers();

    // some other async/await operations

    return result;
}

static Task<int> ImportCustomers()
{
    // some heavy operations

    Thread.Sleep(1000);

    return 1; // <<< what should I return?
}
Run Code Online (Sandbox Code Playgroud)

使用Taskasync/await。我想int作为任务的结果返回。我应该归还哪个对象?return 1;将无法正常工作。

c# task async-await

-2
推荐指数
1
解决办法
1104
查看次数

如何返回 Task&lt;IEnumerable&lt;T&gt;&gt;?

我有一个公共方法

public Task<IEnumerable<MyClass>> GetMyClassObjects()
{
        return ??myresult??;
}
Run Code Online (Sandbox Code Playgroud)

以及如何返回正确的结果?

c# ienumerable task

-2
推荐指数
1
解决办法
3899
查看次数

事后等不及了

如何修复此任务/等待代码?我基本上在调用一个返回的方法TaskAwaiting它以后。首先,它说了Awaited task returns no value它所做的(无论如何对我来说)。然后它说它不能将void转换为int。怎么来的?提前致谢。

class Program
    {
        static async void Main(string[] args)
        {

            var tsk = First();
            int mynumb = await tsk;
            return;

        }
        static async Task<int> First()
        {
            return 2;  
        }


    }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

c# task async-await

-2
推荐指数
1
解决办法
72
查看次数

使用VB.net创建计划任务

如何使用 VB.NET 创建计划任务 - 单击按钮时从 vb.net 程序填充计划任务字段?

我目前一无所有,我什至不知道是否有可能。

.net vb.net schedule task windows-task-scheduler

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

在C#中克隆或复制任务

因为任务不能运行两次(它将引发异常)。我正在创建2个任务。是否有一种很好的方法来代替任务,也许是这样的:

    Task t1 = new Task();
    Task t2 = new Task(t1);
Run Code Online (Sandbox Code Playgroud)

c# task

-3
推荐指数
1
解决办法
188
查看次数

为什么我们需要异步任务,默认 Web API 请求将仅通过创建或重用现有线程来运行

为什么我们在 WebApi c# 中需要异步任务,无论如何,默认的 Web API 请求将仅通过创建或重用现有线程来运行。那么线程已经被使用了?

c# task async-await webapi

-3
推荐指数
1
解决办法
1994
查看次数

使用任务作为字典键?

可以Task用作字典键还是一个坏主意?任何可能因此而出现的问题?

c# dictionary task task-parallel-library

-3
推荐指数
1
解决办法
179
查看次数