Web服务,Web方法和服务器端代码之间的区别?

Zo *_*Has 16 asp.net web-services web-applications

有些问题令我困惑,我只是对网络服务的新手.

  1. Web服务,Web方法和服务器端代码之间有什么区别?

  2. Web服务优于服务器端方法在哪里?

  3. Web方法在哪里使用?

  4. Web服务与服务器端的回发有何不同?

  5. 网络服务重量轻吗?它们可以用来保存长网页表单吗?

  6. 在企业Web应用程序中,我应该经常使用其中一个,为什么?

Nig*_*888 21

Web服务,Web方法和服务器端代码之间有什么区别?

Web服务是一个公开的端点,通常用作API,或者换句话说,它的最终用户通常是另一个应用程序而不是用户界面.Web方法是通过Web服务公开的特定方法.

另一方面,服务器端代码适用于任何ASP.NET网页,Web服务或其他技术,以实现其功能的一般实现.

Web服务优于服务器端方法在哪里?

Web服务擅长使应用程序与其他编程平台兼容,或者为网页提供AJAX请求.还有许多其他用途,但在这些情况下,通常使用WCF或HttpHandler是更好的选择.

Web方法在哪里使用?

Web方法可以在任何.aspx页面中使用,或者更常用于.asmx(Web服务)文件中.

Web服务与服务器端的回发有何不同?

当网页将数据发布到服务器进行处理时,会发生服务器端回发.Web服务完全不同 - 它是一个被另一个应用程序(或在同一个应用程序中)使用的端点.

网络服务重量轻吗?它们可以用来保存长网页表单吗?

不,Web服务不是轻量级的,事实上它们恰恰相反,因为它们通常使用XML(庞大的格式)接收和响应数据.但是,这使得它们非常易于与其他编程语言一起使用.

在企业Web应用程序中,我应该经常使用其中一个,为什么?

这是一个非常主观的问题..NET框架中的每项技术都具有一组擅长的功能,通常可以执行其他几项功能(但不是很好).每个工具都有自己的位置,只需将工具与项目要求相匹配即可.

但是,根据您提出的其他问题判断,听起来您只是将一个不需要API的典型网站放在一起,在这种情况下,最好使用.aspx页面和代码.

  • 谢谢夜猫子。你的回答对我很有帮助 =) (2认同)

Joh*_*ers 5

术语“ Web方法”具有多种含义,其中包括:

  1. 在传统的ASMX Web服务技术中,Web服务操作是通过将[WebService]属性添加到公共类,并将[WebMethod]属性添加到此类的公共实例方法来创建的。这些方法随后将作为Web服务操作公开。
  2. 有一种相关技术,即“页面方法”,它是ASP.NET的一部分。它基本上允许您通过使用[WebMethod]页面类的公共静态方法上的属性来创建小型Web服务。

在这两种情况下,该术语都特定于实施技术。通用术语是“ Web服务操作”。例如,在WCF中,通过将[OperationContract]属性放在方法上来创建Web服务操作。

请注意,Microsoft现在将ASMX视为“传统技术”。所有新开发都应使用WCF。