我们需要从MVC Web应用程序调用{{1}}。
呼叫需要以webapi service (via REST)
方式进行,并且应该是一个火灾和忘记呼叫。在这种情况下,请您就最佳方法征求意见。
在任务并行库(TPL)中使用任务
使用MVC异步控制器。
请提供您对任何其他方法以及参考资料的想法。
答案 0 :(得分:0)
首先,我建议使用OWIN Katana(https://katanaproject.codeplex.com/)作为REST API Web服务器。它本身支持引擎中的任务而不是线程。
关于异步Web方法,我建议使用async / await。但是,只有当您在一个Web方法中创建多个等待请求(第三方Web服务或对数据库的请求)时才使用它们。
答案 1 :(得分:0)
你确定吗? 99%的时间,在ASP.NET上发射并忘记是一个错误。要明确,“即发即忘”意味着:应该是一场火灾而忘记致电
此外,即使永远不会获取你的任何东西。为什么你不是从客户端而不是从你的MVC层开始忘记?
但是如果你真的坚持认为webapi调用必须,那么你可以follow one of the techniques on my blog,例如HostingEnvironment.QueueBackgroundWorkItem
。