【发布时间】:2011-03-10 02:26:25
【问题描述】:
我有一个 ASP.NET 应用程序,它通过 HttpWebRequest 从外部服务获取数据。当前请求是在 Page_Load 事件上发出的。在该事件完成后,我将我的对象放在页面中,并在 HTML 中输出它们的数据。有时站点会挂起并引发超时异常。我应该将 Web 请求移至 Page_Load 之前的事件吗?
【问题讨论】:
标签: c# asp.net events httpwebrequest
我有一个 ASP.NET 应用程序,它通过 HttpWebRequest 从外部服务获取数据。当前请求是在 Page_Load 事件上发出的。在该事件完成后,我将我的对象放在页面中,并在 HTML 中输出它们的数据。有时站点会挂起并引发超时异常。我应该将 Web 请求移至 Page_Load 之前的事件吗?
【问题讨论】:
标签: c# asp.net events httpwebrequest
好吧,我认为这取决于您需要该页面的哪些信息。
检查this page 了解页面事件模型中数据何时可用,并查看请求所需的所有数据何时可用。另外,当您收到回复时,您将如何处理?把它放在会话中?只写HTML?
您最好优雅地处理超时,而不是烧掉一个等待外部调用返回的 Web 服务器线程。
您可能还需要考虑对此数据的异步请求。詹姆斯的回应是一个很好的建议。您可能想查看他包含的链接。
【讨论】:
如果您希望避免加载并且网站可以在没有它的情况下运行,那么将其设置为 AsynchHttpWebRequest 可能会更好。
查看此问题了解更多详情
【讨论】: