我正在创建一个用户可以回复主题,打开主题等的网站,当用户发送消息时,我不想回发; 它很丑.
我现在正在使用通用处理程序,但我遇到了一些问题.就像XMLHttpRequest的onreadystate正在改变时使用UpdatePanel更新GridView一样.
我决定使用PageMethods,但我也想问你.
哪个更好,更快,更有用:PageMethods还是Generic Handlers?
jev*_*lio 14
我不认为 Page方法和HTTP处理程序的速度会有太大差异.但是,如果您担心应用程序的性能,则应对每个选项进行基准测试,并选择最适合您的选项.
要回答更好或更有用的问题,基本上在ASP.NET上下文中,您有三个选项,每个选项都有它们的优点和缺点:
页面方法 - 所有代码都包含在单个页面中,如果代码仅由该页面使用,则可以正常使用.您应该实现将页面特定的HTML片段作为Page方法返回的方法.但是,如果我们讨论的是可重用代码,例如"保存主题"或"获取主题",则可能需要考虑将此代码外部化到其他位置.我保证随着您的应用程序的增长,您也需要在应用程序端的其他地方使用这些方法.
通用HTTP处理程序 - 轻量级,非常适合您需要在整个应用程序中经常调用的代码.大多数情况下,通用处理程序是为了提供内容而实现的,我不知道围绕这个主题的最佳实践是什么,但是对于我来说POST
,保存数据的通用处理程序有一种独特的气味.您还会发现,对于相关功能(保存,获取单个,获取许多等),您最终会得到一大堆处理程序,或者带有巨型switch语句的处理程序以及基于查询字符串和POST
参数的模糊合同.我不建议使用此选项来实现广泛的AJAX应用程序.对于小零件而言,它可能适合您的需求.
ASP.NET Web服务(或WCF) - 您在问题中未提及的第三个选项是ASP.NET Web服务(.asmx).您可以轻松地将它们包含在现有ASP.NET应用程序中,而无需任何其他框架依赖项.它们在选项1和2之间提供了良好的平衡.一方面,您可以在整个应用程序中获得可重用性,如果您愿意,甚至可以在应用程序之外,哪些Page方法无法提供.另一方面,您可以以有意义的方式巧妙地将相关功能绑定在一起,这往往会使通用处理程序变得混乱.您还可以根据需要使用SOAP XML,JSON或HTTP POST/Plaintext与服务进行交互.
这里的通配符选项是:使用ASP.NET MVC和jQuery.如果您正在寻求建立一个精干,平均web应用,并且通常发现回发丑,你会发现的东西,如什么究竟何时了XMLHttpRequest readyState的变化发生了有趣的,它可能会为您提供全面更好的体验.也许不是这个项目,而是下一个项目.
归档时间: |
|
查看次数: |
2806 次 |
最近记录: |