我进行了一个需要更快响应的Web服务调用,因此我想在实际开始处理数据之前返回一个响应。这是我的代码:
[Authorize]
public async Task<ActionResult> Webcall(string Command, string Params)
{
// Run commands
switch (Command)
{
case "FormulierAchterlaten":
// initialise the helper
Formulier_Helper helper = new Formulier_Helper()
{
db = db,
XMLData = Params
};
// !!!!!!!!!!! THESE CALLS NEED TO ME THE OTHER WAY AROUND !!!!!!!!!!!
// run the process
await helper.FormulierAchterlaten();
// return that the message has been received ok
return Content("OK");
// !!!!!!!!!!! THESE CALLS NEED TO ME THE OTHER WAY AROUND !!!!!!!!!!!
// So what I want is:
// return Content("OK");
// Then:
// await helper.FormulierAchterlaten();
}
// Return we didn't find the command
return Content("Error: Command not found");
}
一旦我到达“ helper.FormulierAchterlaten();”,我已经知道连接是有效的,因此我希望它返回“确定”,然后开始“ helper.FormulierAchterlaten();”。呼叫。
我知道我可以通过删除“等待”来实现这一点,但是在我看来这不是正确的方法,因为编译器在执行此操作时会立即警告我。那么创建线程的正常方法是什么?
很抱歉,如果看起来很怪异,我自己找不到该基本信息,但是由于某些原因,MSDN文章对我来说真的很难理解。