科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件开发基于接口的.NET Web服务

开发基于接口的.NET Web服务

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

建立基于接口的互联网服务可以使我们在改变很少或基本不改变客户端代码的情况下,很方便地更换服务提供商……

作者:刘彦清编译 来源:yesky 2007年11月17日

关键字: 接口 Web服务 软件

  • 评论
  • 分享微博
  • 分享邮件
建立基于接口的互联网服务可以使我们在改变很少或基本不改变客户端代码的情况下,很方便地更换服务提供商。

  象我们在传统的面向组件的编程中所学到的那样,接口和具体实现的分离使得同一种服务可以具有多种实现方法。大家公认的是,在任何应用中重用的基本部分是接口,而不是对象,这种面向组件的编程的核心原理同样也适用于互联网服务的开发。

  接口是一组方法的逻辑组合,是客户端应用和互联网服务之间的媒介。由于客户端应用是针对一种抽象的服务描述而不是一个特定的服务实现编写的,用户在转换服务商时就可以只对客户端进行很少的变化,甚至不用对客户端进行任何改变。

  互联网服务标准支持接口的概念,但在缺省情况下,.NET中的互联网服务是基于方法的,而不是基于接口的。因此,在目前的情况下,.NET并非“与生俱来”地允许我们开发基于接口的互联网服务。在本篇文章中,我们将通过一些简单的步骤(包括服务器端和客户机端)来使得VS.NET支持基于接口的互联网服务,使读者可以开发和使用基于接口的互联网服务。

  假设有一个名称为SimpleCalculator的互联网服务,该服务能够提供加、减、乘、除四种基本的算术运算,还有一个使用这个服务的客户端应用。我们可以在.NET中使用C#来实现SimpleCalculator互联网服务,见下面表1:

[WebService(
 Namespace="http://CalculationServices.com",
 Description = "The SimpleCalculator Web Service provides the
      four basic arithmetic operations for integers.")]
 public class SimpleCalculator: WebService
 {
  public SimpleCalculator(){}
   [WebMethod]
   public int Add(int num1,int num2)
   {
    return num1 + num2;
   }
   [WebMethod]
   public int Subtract(int num1,int num2)
   {
    return num1 - num2;
   }
   [WebMethod]
   public int Divide(int num1,int num2)
   {
    return num1 / num2;
   }
   [WebMethod]
   public int Multiply(int num1,int num2)
   {
    return num1 * num2;
   }
}

  表1通过简单地添加[WebMethod]属性将一个类的方法作为互联网服务。注意从WebService中继承是可选的,[WebService]属性也是可选的,但我们在这里用它来提供服务描述和包含名字空间。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章