【发布时间】:2009-10-05 04:58:54
【问题描述】:
在考虑将结果返回给 javascrit 中的 ajax 调用的 ASP.NET ajax 服务器页面时,在性能/速度方面什么是最好的? ASPX 文件还是 ASHX 文件?
【问题讨论】:
在考虑将结果返回给 javascrit 中的 ajax 调用的 ASP.NET ajax 服务器页面时,在性能/速度方面什么是最好的? ASPX 文件还是 ASHX 文件?
【问题讨论】:
我认为最重要的问题是结果是否可缓存,如果可以,它是公开的还是私有的可缓存的。
如果服务只是一个数据查找(而不是实际修改数据的调用),那么您可以设置启用客户端缓存的响应标头。如果数据也是公共数据,那么您可以设置响应头,以便代理服务器等可以缓存数据。如果经常请求数据,则可以减轻 Web 服务器的负载。
但这要求请求是 HTTP GET 操作,ASHX 文件可以处理。但是 WebMethod 会生成一个 HTTP POST。
因此,如果启用响应的客户端缓存有任何意义,请选择 ASHX。例如,如果数据每秒都在变化,那么启用客户端缓存就没有意义。如果请求真的修改了数据,那么缓存数据客户端也没有意义。
否则,我认为一种方法或另一种方法不会有任何严重的性能问题。
【讨论】:
我没有比较,但我认为如果您使用Page Methods,那么它们的性能应该与 ASHX 相当,因为除了在 ajax 请求中指定的一次之外,没有对其他方法的额外调用。
【讨论】: