初次编写Web Service的一些感受

Web Service是一项新技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如XML和HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

——以上摘自百度百科


所以说利用Web Service编写一些API非常合适,说白了,其实就是一个能自动返回所需类型的页面,支持SOAP、POST、GET方式调用,可以返回XML、JSON等格式的序列化字符串。对于移动应用开发人员来说,非常有必要了解WebService的原理和使用方法。

1.结构

Web Service的结构和WCF Service类似,和MVC里的一些写法也相同,命名空间->类(继承 System.Web.Services.WebService)-> [WebMethod] 方法(等同于WebAPI)

示例,一个基本的Web Service:

namespace WebApplication6
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]  //namespace可以随意替换
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  //一致性声明,可以变成None
    [System.ComponentModel.ToolboxItem(false)]  //工具箱的一些相关内容
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]  //可以用Ajax和jQuery以JSON的方式调用Web Service
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod] //想要写一个接口就必须加上这个,其他的处理方法不加
        //[ScriptMethod(ResponseFormat=ResponseFormat.Json,UseHttpGet=false)]  //可以控制调用方法
        public string HelloWorld()  //返回类型可以是自定义的类,调用时自动转换
        {
            return "Hello World";
        }
    }
}


2.作用:

实际上是减轻了程序员的负担,如果使用Web Form或者MVC的模式来开发Web API的话,需要自己定义许多内容,还不支持返回其他的类型,所以Web Service在这方面有很大的优势。


3.注意:

如果需要开启POST或者GET方法,需要在Web.config文件的<system.web>节点中添加

<webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
否则POST/GET访问时会出现500错误


你可能感兴趣的:(Web,xml,C#,service,asp.net,SOAP)