制作WebMethod异步Webform

时间:2017-01-30 10:55:24

标签: c# asp.net asynchronous webforms webmethod

我在整个应用程序中有大量[WebMethod],我希望我的所有[WebMethod]都是异步的。我使用异步和等待关键字装饰了所有[WebMethod]个签名,然后运行我的应用程序。它没有达到预期的效果。假设我有以下代码

背后的代码

[WebMethod]
public static async Task<List<XXX>> GetXXX()
{
    return await new BusinessLogic().GetXXX().ConfigureAwait(false);
}

业务层

    internal async Task<List<XXX>> GetXXX()
    {
        var obj = await objDAL.GetXXX().ConfigureAwait(false);
        List<XXX> listDO = new List<XXX>();
        foreach (var item in obj)
        {
            listDO.Add(new Countries
            {
                XXXName = item.name,
                XXXID = item.id
            });
        }
        return listDO;

objDAL.GetXXX

    internal async Task<List<tblXXX>> GetXXX()
    {
        using (ABCEntities ctx = new ABCEntities())
        {
            return await ctx.tblXXX.ToListAsync().ConfigureAwait(false);
        }
    }

我已将调试器放在上面代码到return await ctx.tblXXX.ToListAsync();的整个路径中,然后调试器失去控制,系统变得无响应。 我发现old solutions没有使用async的强大功能  和await

问题是我如何制作我的WebMethod函数asyc

由于

0 个答案:

没有答案