首页 > 代码库 > WebService 之 实例学习一

WebService 之 实例学习一

  新建一个空网站项目,添加新建项 “ Web 服务 ”。

一、WebServiceDemo.asmx 文件,默认内容如下:

<%@ WebService Language="C#" CodeBehind="WebServiceDemo.asmx.cs" Class="WebServie.WebServiceDemo" %>

二、WebServiceDemo.asmx.cs 文件,默认内容如下:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;namespace WebServie{    /// <summary>    /// WebServiceDemo 的摘要说明    /// </summary>    [WebService(Namespace = "http://tempuri.org/")]    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]    [System.ComponentModel.ToolboxItem(false)]    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。    // [System.Web.Script.Services.ScriptService]    public class WebServiceDemo : System.Web.Services.WebService    {        [WebMethod]        public string HelloWorld()        {            return "Hello World";        }    }}

  如上源码中,黄色标记 “ using System.Web.Services; ” 为必须引入的命名空间。

  继承层次:WebServiceDemo 继承自 System.Web.Services 命名空间下的 WebService 类 → 继承自 System.Web.Services 命名空间下的MarshalByValueComponent 类 → 继承自 System.ComponentModel 命名空间下的 IComponent, IDisposable, IServiceProvider 三个接口。

  1、WebService 属性:用于向 XML Web services 添加附加信息,如描述其功能的字符串。

using System;namespace System.Web.Services{    // 用于向 XML Web services 添加附加信息,如描述其功能的字符串。    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)]    public sealed class WebServiceAttribute : Attribute    {        // Namespace的默认值        // property.此字段为常数。        public const string DefaultNamespace = "http://tempuri.org/";        // 初始化 System.Web.Services.WebServiceAttribute 类的新实例。        public WebServiceAttribute();        // XML Web services 的描述性消息。        // 对 XML Web services 的功能进行描述的文本。        public string Description { get; set; }                // 获取或设置 XML Web services 的名称。        // 默认值是实现 XML Web services 的类的名称。        public string Name { get; set; }                // 获取或设置用于 XML Web services 的默认 XML 命名空间。        // 默认值在 System.Web.Services.WebServiceAttribute.DefaultNamespace属性中指定。        public string Namespace { get; set; }    }}

  2、WebServiceBinding 属性:声明定义一个或多个 XML Web services 方法的绑定。无法继承此类。

using System;namespace System.Web.Services{    //声明定义一个或多个 XML Web services 方法的绑定。无法继承此类。    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = true)]    public sealed class WebServiceBindingAttribute : Attribute    {        // 初始化一个 WebServiceBindingAttribute 的实例
public WebServiceBindingAttribute(); //通过设置 XML Web services 方法正在实现的绑定的名称初始化 System.Web.Services.WebServiceBindingAttribute 类的新实例 // 参数: // name:XML Web services 方法为其实现操作的绑定的名称。设置 System.Web.Services.WebServiceBindingAttribute.Name 属性。 public WebServiceBindingAttribute(string name); // // 摘要: // 初始化 System.Web.Services.WebServiceBindingAttribute 类的新实例。 // // 参数: // name: // XML Web services 方法为其实现操作的绑定的名称。设置 System.Web.Services.WebServiceBindingAttribute.Name // 属性。 // // ns: // 与该绑定关联的命名空间。设置 System.Web.Services.WebServiceBindingAttribute.Namespace 属性。 public WebServiceBindingAttribute(string name, string ns); // // 摘要: // 初始化 System.Web.Services.WebServiceBindingAttribute 类的新实例。 // // 参数: // name: // XML Web services 方法为其实现操作的绑定的名称。设置 System.Web.Services.WebServiceBindingAttribute.Name // 属性。 // // ns: // 与该绑定关联的命名空间。设置 System.Web.Services.WebServiceBindingAttribute.Namespace 属性。 // // location: // 定义绑定的位置。 public WebServiceBindingAttribute(string name, string ns, string location); // 摘要: // 获取或设置绑定声称所符合的 Web 服务互操作性 (WSI) 规范。 // // 返回结果: // System.Web.Services.WsiProfiles 值之一,指示 WSI 规范。 public WsiProfiles ConformsTo { get; set; } // // 摘要: // 获取或设置一个值,该值指示绑定是否发出一致性声称。 // // 返回结果: // 如果绑定发出一致性声称,则为 true;否则为 false。 public bool EmitConformanceClaims { get; set; } // // 摘要: // 获取或设置定义绑定的位置。 // // 返回结果: // 定义绑定的位置。默认为此属性应用到的 XML Web services 的 URL。 public string Location { get; set; } // // 摘要: // 获取或设置绑定的名称。 // // 返回结果: // 绑定的名称。默认为追加了“Soap”的 XML Web services 名称。 public string Name { get; set; } // // 摘要: // 获取或设置与该绑定关联的命名空间。 // // 返回结果: // 绑定的命名空间。默认为 http://tempuri.org/ public string Namespace { get; set; } }}

 

WebService 之 实例学习一