等待用MVC方法调用控制器动作

时间:2019-01-04 16:38:06

标签: c# asp.net-mvc

我正在尝试使用ASP.Net MVC中的C#执行远程过程,该过程会将数据回传到我的一个控制器。有没有办法在我的调用方法中的事件中包装此控制器操作,以便我可以等待POST数据?我不确定我有什么选择(如果有)。我希望有这样的东西:

调用方法:

public void MainMethod()
{ 
    ExecuteRemoteProcess();
    //Listen for PostData();
}

控制器:

[HttpPost]
public string PostData()
{
    var length = Request.ContentLength;
    Stream req = Request.InputStream;
    req.Seek(0, System.IO.SeekOrigin.Begin);
    string json = new StreamReader(req).ReadToEnd();
    return json;
}

编辑: MainMethod是MVC应用程序中的一个单独的类方法,可以简单地调用一个外部进程。外部进程将执行其操作,然后使用PostData()控制器操作将一些数据httppost回MVC应用程序。但是最终我需要将数据返回到MainMethod()线程中,因为它正在编排许多较小的外部进程。

2 个答案:

答案 0 :(得分:1)

您需要通过PostData而不是MainMethod来处理发布的结果。这就是您要完成工作时发出的请求,因此这是您需要编写代码来处理它的操作。

答案 1 :(得分:0)

如果希望您的方法等到过程完成再继续。使该方法异步。

public async Task<string> PostData()
{
    //Put 'await' infront of the call
}