使用.Net编写WebService程序粗探

前端之家收集整理的这篇文章主要介绍了使用.Net编写WebService程序粗探前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

        Internet 正在向下一代 Web 站点快速演进,今天的 Web 站点仅能为浏览器提供用户界面,而下一代可编程 Web 站点

直接将企业、应用程序、服务和设备彼此链接。这些可编程 Web 站点将不只是被动访问的站点,而将成为可重用的智能

XML Web services。(本文参考Asp.net快速入门教程)

    今天是我第一次学习使用.Net编写WebService程序。当然得从最简单的Hello World开始了。

1.创建一个文本文件HelloWorld.asmx(.ASP.NET 使用 .asmx 文件提供 XML Web services 支持。)

<%@ WebService Language="C#" Class="HelloWorld" %>

using System;
using System.Web.Services;

public class HelloWorld : WebService {

     [WebMethod] public String SayHelloWorld() {
          return "Hello World";
     }

}
2.将HelloWorld.asmx放在IIS工作目录下,现在我们可以通过http://localhost/helloworld.asmx访问它了.
这时候我们可以注意到提示
 
 

此 Web 服务使用 http://tempuri.org/ 作为它的默认命名空间。

建议:在使 XML Web service 公开之前,请更改默认命名空间。

 所以我们在HelloWorld.asmx中加入[WebService(Namespace="http://xcolor.cn/webservices/")]
 再次访问http://localhost/helloworld.asmx,建议没有了,一切正常。
 
3.为了在Visual C#中使用这个WebService服务,我们需要使用有一个 Web 服务描述语言工具 (WSDL.exe)。
此命令行工具用于从 WSDL 创建 代理类。我们输入: wsdl http://localhost/helloworld.asmx?wsdl生成
HelloWorld.cs文件,该文件包含了对该服务的调用
 
4.为了试验如何在Visual C#中调用HelloWorld服务,我们新建一个空白的C#应用程序。
解决方案资源管理器中添加HelloWorld.cs文件。然后编写如下代码调用
   HelloWorld myHelloWorld = new HelloWorld();
   
   this.Text  = myHelloWorld.SayHelloWorld();
   编译,我们等待着HelloWorld的出现,可是遗憾的是。编译器告诉我们System.web.Service未引用。于是我们加入对
System.web.service.dll的引用,果然我们期待的HelloWorld出现了。
Visual C#中的调用是成功了,我们还想试试,在其他开发环境下,效果怎么样了。下面我使用Delphi来调用
刚才的WebService服务。
1.新建一个空白的窗体工程
2.New ->Other->WebServices->WSDL Importer,
  在Wsdl Source 中输入 “http://localhost/helloworld.asmx?wsdl
  生成HelloWorld.pas,其中包含一个HelloWorldSoap接口和GetHelloWorldSoap函数
3.使用如下代码调用
procedure TForm1.Button1Click(Sender: TObject);
var hello:HelloWorldSoap ;
begin
  hello:=GetHelloWorldSoap;
  Caption:=hello.SayHelloWorld ;
end;
成功了,一切都是如此的简单和方便,我们真该为这个伟大的技术欢呼!

猜你在找的WebService相关文章