微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用.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;
成功了,一切都是如此的简单和方便,我们真该为这个伟大的技术欢呼!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐