gpt4 book ai didi

asp.net - PageMethods 还是通用处理程序?

转载 作者:行者123 更新时间:2023-12-04 22:08:32 27 4
gpt4 key购买 nike

我正在做一个网站,用户可以在其中回复主题、打开主题等,当用户发送消息时,我不想回发;它很丑。

我现在正在使用通用处理程序,但我遇到了一些问题。就像在 XMLHttpRequest 的 onreadystate 发生变化时使用 UpdatePanel 更新 GridView 一样。

我决定使用 PageMethods 但我也想问你。

哪个更好、更快、更有用:PageMethods 还是 Generic Handlers?

最佳答案

我认为 Page 方法的 速度 和 HTTP Handlers 之间不会有太大区别。但是,如果您担心应用程序的性能,您应该对每个选项进行基准测试并选择最适合您的选项。

要回答这个问题,即 更好 或更多 有用 ,基本上在 ASP.NET 上下文中,您有三个选项,每个选项都有其优缺点:

  • 页面方法 - 您的所有代码都包含在单个页面中,如果代码仅由该页面使用,这很好。您可能应该实现将特定于页面的 HTML 片段作为页面方法返回的方法。但是,如果我们谈论的是可重用代码,例如“保存主题”或“获取主题”,您可能需要考虑在其他地方将此代码外部化。我保证随着您的应用程序的增长,您在应用程序端的其他地方也需要这些方法。
  • 通用 HTTP 处理程序 - 是轻量级的,非常适合需要在整个应用程序中经常调用的代码。大多数情况下,通用处理程序是为了提供内容而实现的,我不知道围绕这个主题的最佳实践是什么,但对我来说,使用通用处理程序来保存数据的 POST 具有明显的气味。您还会发现,对于相关功能(保存、获取单个、获取多个等),您最终会得到一大堆处理程序,或者一个处理程序具有巨大的 switch 语句和基于查询字符串和 POST 的模糊契约(Contract)参数。我不推荐使用此选项来实现广泛的 AJAX 应用程序。对于小零件,它可能适合您的需求。
  • ASP.NET Web 服务 (或 WCF)-您在问题中未提及的第三个选项是 ASP.NET Web 服务 (.asmx)。您可以轻松地将它们包含在现有的 ASP.NET 应用程序中,而无需任何额外的框架依赖项。它们在选项 1 和 2 之间提供了很好的平衡。一方面,您可以在整个应用程序中获得可重用性,如果您愿意,甚至可以在应用程序之外获得重用性,这是 Page 方法无法提供的。另一方面,您可以以有意义的方式巧妙地将相关功能绑定(bind)在一起,这往往会使通用处理程序变得困惑。您还可以根据需要使用 SOAP XML、JSON 或 HTTP POST/Plaintext 与服务交互。

  • 这里的通配符选项是: Use ASP.NET MVC and jQuery 。如果您正在寻找构建一个精简的 Web 应用程序,并且您通常发现回发很丑陋,并且您发现诸如 xmlhttprequest 更改 readystate 时究竟发生什么之类的事情很有趣,那么它可能会为您提供更好的整体体验。也许不是为了这个项目,而是为了下一个。

    关于asp.net - PageMethods 还是通用处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297783/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com