另外,我可以用async方式调用用[WebMethod]属性修饰的aspx页面中的静态PageMethod吗?我有一个页面方法的例子是:
[WebMethod]
public static SupplierData GetAgeSummary(string supplierId)
{
return ABC.Data.SupplierData.GetAgeSummary(supplierId);
}
异步我的意思是服务器端的异步,而不是客户端的异步。
答案 0 :(得分:1)
无法以可靠的方式异步调用网站的服务器端。由于所有线程仅在父线程的持续时间内处于活动状态,如果您的异步线程在站点完成并继续执行响应时仍在执行,这将终止父线程并且所有子节点将被强制停止执行。
如果您使用的应用程序是使用Web服务作为引用的WinForms或WPF应用程序,则可以异步调用它,因为可以依赖应用程序(在父线程上运行)在服务电话。但是,在Web应用程序中,在回调传递之前很可能会构建响应。