繁体   English   中英

如何在 MVC 中的 ActionResult 中运行异步方法,c#

[英]How to run asynchronous methods inside my ActionResult in MVC, c#

我正在从网络服务获取数据。这需要一些时间。 这是我的controller

 {

         // THERE SO MANY FUNCTIONS BEFORE THIS.
         //   

            try
            {
                string serviceUrl = "https://www.myserviceweb.com/assets/webhandler/details.ashx";
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(serviceUrl);
                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

                StreamReader sr = new StreamReader(resp.GetResponseStream());
                string result = sr.ReadToEnd();
                sr.Close();


                var rootResult = XElement.Parse(result);

                System.Web.HttpContext.Current.Session["rootvss"] = rootResult;
            }
            catch (Exception ex)
            {
                Debug.WriteLine("error");
            }

  return View();
 }

在我调用这个函数之前,有很多函数。 所以总的来说加载索引需要更多时间。我想做的是

仅异步运行上述函数。 我怎样才能做到这一点。 我尝试使用如下方法。但我不知道如何使用它。

 public async Task webservce()
        {

        }

希望您对此有所帮助

如果你想使用 Async ,结构如下:

 public async Task<ActionResult> webservce()
{
return await _yourService.GetAllAsync(); // here you should call Async Methods like .ToListAsync ,...
}

所有在 msdn 上都有解释: https : //msdn.microsoft.com/en-us/library/hh300224.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM