我正在尝试使用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()线程中,因为它正在编排许多较小的外部进程。
答案 0 :(得分:1)
您需要通过PostData
而不是MainMethod
来处理发布的结果。这就是您要完成工作时发出的请求,因此这是您需要编写代码来处理它的操作。
答案 1 :(得分:0)
如果希望您的方法等到过程完成再继续。使该方法异步。
public async Task<string> PostData()
{
//Put 'await' infront of the call
}