当我从控制台应用程序运行此程序时,我正在连接一个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是否正在等待任务结束,并且它永远不会结束。
答案 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