在ASP.NET Web表单上运行异步任务

时间:2019-06-28 09:27:50

标签: c# asp.net asynchronous webforms

当我从控制台应用程序运行此程序时,我正在连接一个API并使用一个异步库(Koenzomers),它工作得非常好,当我从asp.net网络表单页面运行它时,我无法正常工作

我有密码

如果我尝试从控制台应用程序运行时运行任务

                    Task TestAuth = TestOtherLibrary();
                    TestAuth.Wait();

我得到相同的结果。

protected void Page_Load(object sender, EventArgs e)
{
    Response.Write("Authenticating");
    RegisterAsyncTask(new PageAsyncTask(Auth));
}

public async Task Auth()
{
    using (KoenZomers.UniFi.Api.Api UnifiApp = new KoenZomers.UniFi.Api.Api(new System.Uri("https://myserverurl"), "unifisiteid"))
    {
    await UnifiApp.Authenticate("admin", "mysecurepassword");

    }
}

该想法是连接到unifi控制器并基于mac地址授权用户

当前,我将页面加载为死锁,不确定UI是否正在等待任务结束,并且它永远不会结束。

1 个答案:

答案 0 :(得分:0)

使用下面的内容代替,而不使用PageAsyncTask。

#pages 29-30 of the book class Project . . def done? tasks.all?(&:complete?) #only this line confused me, especially the `&` part end end