如何仅在特定条件下异步运行ASP.NET页面?

时间:2013-01-19 12:22:04

标签: asp.net asynchronous-pages

我有一个通常快速运行的ASP.NET页面,但有时必须调用外部服务,这可能需要几秒钟才能响应。因此,大多数情况下,我希望此页面像往常一样同步运行,但在需要调用服务时异步运行。

我猜我只能设置<%@ Page Async="true" ... %>并且只在需要时在代码隐藏中运行异步代码(设置事件处理程序等)。如果我没有设置异步事件处理程序,那么页面将正常运行,不会出现性能损失或其他问题。

这种做法是否完全没问题,或者存在问题?

2 个答案:

答案 0 :(得分:2)

你提出的方法很好。如果运行时检测到标记为Async = true但未启动任何异步工作的页面,则它将同步运行该页面。只有非常小的(几乎无法估量的)开销。

答案 1 :(得分:0)

尝试“Asp.net Ajax”使用ScriptManager,“更新pannels”为asp.net ajax。