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
带有第三方API调用的异步asp.net C#4.0 MVC 2应用程序_Api_C# 4.0_Asp.net Mvc 2_Asynchronous - Fatal编程技术网

带有第三方API调用的异步asp.net C#4.0 MVC 2应用程序

带有第三方API调用的异步asp.net C#4.0 MVC 2应用程序,api,c#-4.0,asp.net-mvc-2,asynchronous,Api,C# 4.0,Asp.net Mvc 2,Asynchronous,我有一份3页/步骤的申请表。在第二步中,可能会调用多达2个外部第三方API,这些调用的结果存储在本地数据库中,然后再转到第3步。在第3步结束之前,我并不真正关心这些API的响应,在第3步结束之前,我会检查DB的结果,以确定在处理第3步之后应该发生什么 目前,API调用阻止用户进入步骤3。如果请求需要一段时间,则会导致应用程序没有响应,用户可能会厌倦等待。我希望通过使web调用异步化,使应用程序进程更具响应性,这样用户就可以开始完成步骤3,此时应该已经返回了步骤2的结果 我可以看到ASP.NET

我有一份3页/步骤的申请表。在第二步中,可能会调用多达2个外部第三方API,这些调用的结果存储在本地数据库中,然后再转到第3步。在第3步结束之前,我并不真正关心这些API的响应,在第3步结束之前,我会检查DB的结果,以确定在处理第3步之后应该发生什么

目前,API调用阻止用户进入步骤3。如果请求需要一段时间,则会导致应用程序没有响应,用户可能会厌倦等待。我希望通过使web调用异步化,使应用程序进程更具响应性,这样用户就可以开始完成步骤3,此时应该已经返回了步骤2的结果


我可以看到ASP.NET 4.5有async和await方法,我认为这可能会有所帮助,但我想知道在此期间我的选项是什么?

如果您不关心异步方法的返回值,那么您可以将阻塞调用委托给线程池,而不需要进一步修改代码


请查看System.Threading.ThreadPool.QueueUserWorkItem

另外,Wait和async也无助于解决当前的问题。它们的优势在于回调处理的语法糖。