Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 如何解决异步方法缺少';等待&x27;运算符和将在WebApi 2中同步运行错误?_C# 4.0_Asp.net Web Api2 - Fatal编程技术网

C# 4.0 如何解决异步方法缺少';等待&x27;运算符和将在WebApi 2中同步运行错误?

C# 4.0 如何解决异步方法缺少';等待&x27;运算符和将在WebApi 2中同步运行错误?,c#-4.0,asp.net-web-api2,C# 4.0,Asp.net Web Api2,我在WebAPI2中使用上述代码进行全局异常处理。以上代码返回以下警告消息。如何解决这个问题 此异步方法缺少“await”运算符,将同步运行。考虑使用“Acess”操作符等待非阻塞API调用,或“等待任务.Run(…)”在后台线程上执行CPU绑定的工作。 如果没有任何异步工作要做,则不要使用async: public async override Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancell

我在WebAPI2中使用上述代码进行全局异常处理。以上代码返回以下警告消息。如何解决这个问题

此异步方法缺少“await”运算符,将同步运行。考虑使用“Acess”操作符等待非阻塞API调用,或“等待任务.Run(…)”在后台线程

上执行CPU绑定的工作。
如果没有任何异步工作要做,则不要使用
async

public async override Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancellationToken)
    {
        // Access Exception using context.Exception;
        Logger.Error(context.Exception.ToString() + Environment.NewLine);

        const string errorMessage = "An unexpected error occured";
        var response = context.Request.CreateResponse(HttpStatusCode.InternalServerError,
            new
            {
                Message = errorMessage
            });

        response.Headers.Add("X-Error", errorMessage);
        context.Result = new ResponseMessageResult(response);
    }

如果没有任何异步工作要做,则不要使用
async

public async override Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancellationToken)
    {
        // Access Exception using context.Exception;
        Logger.Error(context.Exception.ToString() + Environment.NewLine);

        const string errorMessage = "An unexpected error occured";
        var response = context.Request.CreateResponse(HttpStatusCode.InternalServerError,
            new
            {
                Message = errorMessage
            });

        response.Headers.Add("X-Error", errorMessage);
        context.Result = new ResponseMessageResult(response);
    }

是否尝试添加await?如果方法中没有需要await的内容,则从方法定义中删除async。显示完整的错误处理程序。在上述代码中向何处添加await?是否尝试添加await?如果方法中没有需要await的内容,则从方法定义中删除async。显示完整错误在上面的代码中,在哪里添加wait?它只在.NET4中可用。6@Zbigniew:然后您可以使用
返回任务。FromResult(0)。你使用的是什么版本的.NET?我不是OP。这是一个值得在你的帖子中加入的旁注。它只在.NET 4中可用。6@Zbigniew:然后您可以使用
返回任务。FromResult(0)。你使用的是什么版本的.NET?我不是OP。这是一个值得在你的帖子中加入的旁注。