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 之 实例学习一的主要内容,如果未能解决你的问题,请参考以下文章

c++调用webservice接口的几种方法以及实例

c++调用webservice接口的几种方法以及实例

学习webservice之cxf:使用webservice实现客户端

学习 WebService 第三步:一个简单的实例(SoapUI测试REST项目)

学习webservice之cxf:cxf自定义拦截器

web前端开发JQuery常用实例代码片段(50个)