当我看到关于等待第一条新闻,我感到非常兴奋,我想使用它的很多方面。 其中之一就是在我的web框架中使用它来隐藏客户端/服务器交换的异步方面,就像它在几个框架中完成的一样。 因此,这里的交易:覆盖连续状态存储/恢复算法?
我想编写这样的事情:
{
Page p = new Page();
FormResponse response = await p.Show();
var field1 = reponse.inputField["input1"];
...
}
我想开发要能写在服务器上的代码。正如你猜p.Show()
写在HttpResponse对象的HTML代码的形式显示在页面上,并传送到客户端的响应,因此,线程是 打死,我从来没有达到,下一条指令(FormResponse response =
)。
因此,这里是我的问题: 有没有做这样的事的方法吗?我知道等待切割代码,继续打包它,为我们做封闭,并在p.Show()完成时将它存储在某个地方以便回调它。 但是在这里,线程将被杀死,这是我的代码,它接收来自Page的提交响应,必须处理它。所以我必须恢复“等待”创建的延续并自己执行。
我收到高或是否有可能?
编辑:额外的相关信息
我解释一点,但我们需要的例子。 想象一下,您希望对web服务进行异步调用,您只需使用await然后调用Web即可。 一个网不显示任何页面时,它返回的信息,您可以继续下一个指令,所以用一个网,我们有:客户端 - >服务器A [-callwebs->服务器B - >]服务器A - >客户端。现在,设想一个网络必须显示用户界面以从用户那里获取一些信息,我们可以将这种网络称为UIwebs(由多个webapp调用的可重复使用的接口),它显示UI,抓取信息,并将其发回给调用者。我们有:客户端 - >服务器A [-response_redirect->客户端-get->服务器B(这里是UIwebs,客户端输入什么)-response_redirect->客户端-get->]服务器A - >客户端
我把括号之间具有由developper的方式来处理:
这样一个经典的网,我能想象异步页“沉睡”等待腹板至反应,但有了UI网页,我们必须响应重定向到客户端,因此该页面是为asp.net完成的,并且SynchronizationContext表示没有更多的异步指令需要等待。
事实上,这里我需要的是一样打开Web服务器上,并发送请求给它至极承担责任:水灾只恢复的await后执行的代码所需要的一切。
问候, 朱利安
我完成了我的问题:) – vans