AsyncController 方法声明,有助于理解语法

AsyncController method declarations, assist with understanding syntax

我希望为一些 Web 服务实现异步编码。

我遇到了 a tutorial 并尝试遵循它并实施它,但是我遇到了一个特定的部分。

我的例子

   public void CalculatePricingAsync(QuoteInput obj)
    {

        AsyncManager.OutstandingOperations.Increment();
        var apiService = new ApiService();
        ApiService.CalculatedPricingCompleted += (sender, e) =>
        {
            AsyncManager.Parameters["Pricing"] = e.Value;
            AsyncManager.OutstandingOperations.Decrement();
        };
        ApiService.CalculatedPricing(obj);

    }

    public JsonResult CalculatePricingCompleted(string[] pricing)
    {
        var jr = new JsonResult { Data = new { pricing } };
        return jr;
    }

ApiService class 中不存在上述第一种方法中的以下行。谁能解释一下这个表达式的作用及其含义。我是否只是在那个 ApiService class 中创建一个这个名称的方法并将其留空,它是否以某种方式与第二种方法一起工作。我不太清楚它在做什么,应该在哪里声明该方法,以及它到底应该包含什么。

ApiService.CalculatedPricingCompleted += (sender, e) =>
        {
            AsyncManager.Parameters["Pricing"] = e.Value;
            AsyncManager.OutstandingOperations.Decrement();
        };

上一行中的这个 > (CalculatedPricingCompleted) 在 visual studio 中显示为红色,显然是在某处定义。

CalculatedPricingCompletedApiService里面的委托方法。您需要查看服务 class 并添加它。话虽如此,我强烈建议在 .NET 中使用 async / await 进行异步操作。如果您使用的是 .NET 4.0+,没有理由不使用它。