提供ajax内容是否有网页服务优于网页?

时间:2008-10-23 20:36:53

标签: asp.net ajax web-services

我的ajax调用应该与Web服务还是简单的网页交谈?简单的Response.Write()内容似乎要容易得多。 Web服务是否更可靠或更安全?

7 个答案:

答案 0 :(得分:2)

您可能想要调查以进行AJAX调用的是Page Methods。使用ASP.NET页面方法,您可以使用javascript调用代码中存在的服务器端函数,而不需要页面生命周期的开销,因为该方法必须是静态的。有关页面方法的更多信息,请查看

http://www.singingeels.com/Articles/Using_Page_Methods_in_ASPNET_AJAX.aspx

如果您确实想要在多个页面上访问方法中的功能,请考虑使用Web服务 - 您可以使用Microsoft AJAX javascript库以类似的方式连接到该服务。

答案 1 :(得分:0)

由于页面的生命周期更复杂,因此调用网页会产生更多的开销。

尽管如此,我怀疑它最终真的很重要,但从语义上和实际上来说,网页效率并不高。


更新:你能澄清一下吗?你在谈论典型的ASP.NET页面吗?还是“经典”ASP?正如有人对这个答案的评论指出的那样,如果我们谈论的是“经典”ASP,那么它会比ASP.NET页面更简单,但我认为这不用说......

答案 2 :(得分:0)

Web服务是标准化的,因此您可以获得使用它们的某些优势,至少在Microsoft开发平台方面是这样。您可以将Visual Studio指向ASMX,以便将外部Web服务的引用添加到您的项目中 - 虽然我确信您可以从* .aspx页面获得相同的结果,但您也有很多与* *相关的​​开销。 .aspx页面(页面生命周期,viewstate)。

如果有人来支持您维护您的代码,他们可能会查看* .aspx“网络服务”并抓住他们的头脑。

答案 3 :(得分:0)

我认为答案最终取决于您对该网站的所作所为。如果您具有可以/可以在多个页面或组件中使用的功能,那么您最好还是编写Web服务来完成工作。

此外,根据您使用的AJAX库/代码,Web服务可能会更好。请记住,Web服务不一定是一个单独的站点,但可以是放在当前站点结构中可访问位置的.asmx页面。

我使用单个.asmx文件来返回控件,例如登录控件,依赖于用户的UI以及来自Web站点和Windows应用程序的并发数据更新的集成。

所有这些都说明了,您可以使用后面的页面,但通常使用Web服务进行代码重用和跨站点数据处理更为实用。

答案 4 :(得分:0)

我认为SOAP Web服务不比标准网页更具优势。但我会说,类似REST的Web服务更合适。您可以以任何方式实现类似REST的Web服务,包括作为简单Response.Write的ASP页面。您最好返回JSON对象。重要的是正确设计您的服务,这意味着定义哪个URL返回什么内容。

jQuery有一个方便的getJSON函数来读取服务器的响应。

答案 5 :(得分:-1)

我无论如何都看不到。这只是来回的http流量。

答案 6 :(得分:-1)

取决于您使用哪些库来执行AJAX调用。无论机制如何,直接从您的调用获得JSON,甚至更好的反序列化对象,这是很好的。解析SOAP是一件你不必担心的苦差事。也就是说,重要的是要匹配流入和流出的内容,这将首先影响我的选择。 (基于各种管理人员/建筑师/等人的约束可能会被传递下来。)