WebService 之 实例学习一
Posted Now,DayBreak
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 之 实例学习一的主要内容,如果未能解决你的问题,请参考以下文章
学习webservice之cxf:使用webservice实现客户端