加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用.Net编写WebService程序粗探

发布时间:2020-12-17 02:59:22 所属栏目:安全 来源:网络整理
导读:??????? Internet 正在向下一代 Web 站点快速演进,今天的 Web 站点仅能为浏览器提供用户界面,而下一代可编程 Web 站点 直接将企业、应用程序、服务和设备彼此链接。这些可编程 Web 站点将不只是被动访问的站点,而将成为可重用的智能 XML Web services。(

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读