如何在异步方法完成之前返回我的视图 [英] How can I return my view until my async methode finish
问题描述
i有一个Async方法,我想把它叫做我在行动中添加的相同特征,我的问题是我返回查看时methode在后台保持runnig并且视图是空的
我尝试过:
i试试,
公共ActionResult loaddata()
{
任务任务=新任务(WsdlCompareAsync);
task.Start();
返回Json(new {data = myListDisp},JsonRequestBehavior.AllowGet);
}
静态列表< tracking> myListDisp = new List< tracking>();
private async void WsdlCompareAsync()
{
< br $>
string userName,token,scopePath,apiVersion,defaultCollectionUrl,firstEnvironmentToCompare,secondEnvironmentToCompare;
GetConfiguration(out userName,out token,out scopePath,out apiVersion,out defaultCollectionUrl,out firstEnvironmentToCompare,out secondEnvironmentToCompare);
WsdlDiff diff = new WsdlDiff(defaultCollectionUrl,userName,token,scopePath,apiVersion);
myListDisp = await diff.Compare(firstEnvironmentToCompare,secondEnvironmentToCompare);
}
WsdlCompareAsync在backgroude中运行我已添加静态监听,看看方法是否有效,当我刷新视图cantain数据时
您必须按以下方式使用。让我知道
public async 任务< ActionResult> loaddata()
{
List myListDisp = await WsdlCompareAsync();
return Json( new {data = myListDisp},JsonRequestBehavior.AllowGet);
}
私人 async 任务< List> ; WsdlCompareAsync()
{
string userName,token,scopePath,apiVersion,defaultCollectionUrl,firstEnvironmentToCompare,secondEnvironmentToCompare;
GetConfiguration( out userName, out token, out scopePath, out apiVersion, out defaultCollectionUrl, out firstEnvironmentToCompare, out secondEnvironmentToCompare);
WsdlDiff diff = new WsdlDiff(defaultCollectionUrl,userName,token,scopePath,apiVersion);
return await diff.Compare(firstEnvironmentToCompare,secondEnvironmentToCompare);
}
hi,
i have an Async methode and i want to call it to make same traitment i have added in my action, my issue is whene i return view the methode stay runnig in background and the view is empty
What I have tried:
i have try,
public ActionResult loaddata()
{
Task task = new Task(WsdlCompareAsync);
task.Start();
return Json(new { data = myListDisp }, JsonRequestBehavior.AllowGet);
}
static List<tracking> myListDisp = new List<tracking>();
private async void WsdlCompareAsync()
{
string userName, token, scopePath, apiVersion, defaultCollectionUrl, firstEnvironmentToCompare, secondEnvironmentToCompare;
GetConfiguration(out userName, out token, out scopePath, out apiVersion, out defaultCollectionUrl, out firstEnvironmentToCompare, out secondEnvironmentToCompare);
WsdlDiff diff = new WsdlDiff(defaultCollectionUrl, userName, token, scopePath, apiVersion);
myListDisp= await diff.Compare(firstEnvironmentToCompare, secondEnvironmentToCompare);
}
the WsdlCompareAsync stay runing in backgroude i have add static liste to see if the methode work, whene i refresh the view cantain data
You have to use in the following way. Let me know
public async Task<ActionResult> loaddata() { List myListDisp = await WsdlCompareAsync(); return Json(new { data = myListDisp }, JsonRequestBehavior.AllowGet); } private async Task<List> WsdlCompareAsync() { string userName, token, scopePath, apiVersion, defaultCollectionUrl, firstEnvironmentToCompare, secondEnvironmentToCompare; GetConfiguration(out userName, out token, out scopePath, out apiVersion, out defaultCollectionUrl, out firstEnvironmentToCompare, out secondEnvironmentToCompare); WsdlDiff diff = new WsdlDiff(defaultCollectionUrl, userName, token, scopePath, apiVersion); return await diff.Compare(firstEnvironmentToCompare, secondEnvironmentToCompare); }
这篇关于如何在异步方法完成之前返回我的视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!