新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:如何创建和使用Web Service代理类

如何创建和使用Web Service代理类

新客网 XKER.COM 2004-07-13 来源: 收藏本文
如何创建和使用Web Service代理类



Web服务代理是支持.net的编程语言文件,由.net框架提供的WSDL工具自动生成。代理类不包含任何应用程序逻辑。相反,他包含关于如何传递参数和检索结果的传输逻辑,还包含Web服务中的方法及原型列表。代理类可以从任何WSDL文件创建。



可以像访问com对象一样访问Web服务。要访问Web服务,需要从本地计算机上的Web服务的WSDL文档创建代理类。.net提供了名为WSDL.exe的工具以自动生成代理类文件。下面详细说明其创建和使用过程:



1、 新建一个asp应用程序(#C)工程,工程名为TeachShow,在TeachShow工程中创建一个文件夹Charpter8,在该文件夹下创建一个新的Web服务,取名为:Computer.asmx

2、 切换到代码视图,编写下面的代码:

[WebMethod(Description="用于相加运算", EnableSession=false)]

public int Add(int a,int b)

{

return a+b;

}



[WebMethod(Description="用于相减运算", EnableSession=false)]

public int Sub(int a,int b)

{

return a+b;

}



[WebMethod(Description="用于相乘运算", EnableSession=false)]

public int Multi(int a,int b)

{

return a*b;

}



[WebMethod(Description="用于相除运算", EnableSession=false)]

public double Devide(int a,int b)

{

return Convert.ToDouble(a)/Convert.ToDouble(b);



3、按F5编译整个工程(这一步一定要做,如果不做第4步无法实现)



4、打开MS.net 2003的命令提示工具,输入:C:\>wsdl http://localhost/TeachShow/Charpter8/FirstAndUse/Computer.asmx /n:ComputerNameSpace,其中,ComputerNameSpace是自定义的命名空间。提示如下:

Microsoft (R) Web 服务描述语言实用工具

[Microsoft (R) .NET Framework,版本 1.1.4322.573]

Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.



正在写入文件“C:\Computer.cs”。



5、注意,此时在C:盘(其实就是命令提示符的当前目录)下生成一个和Computer.asmx相同文件名的C#源文件Computer.cs。



6、编译Computer.cs文件,在命令提示符下输入如下命令:C:\>csc /out:ComputerDll.dll /t:library /r:System.Web.Services.dll c:\Computer.cs。其中,/out:ComputerDll.dll是要输出的dll文件,/t:library是输出文件类型,/r:System.Web.Services.dll是要引用的组件,c:\Computer.cs是第4步生成的C#文件。



7、此时,将会在C:盘下生成一个叫ComputerDll.dll的文件,要使用这个文件,必须复制到TeachShow文件夹下的bin目录下。默认情况下为:C:\Inetpub\wwwroot\TeachShow\bin。



8、新建一个名为TestWSDL.aspx的WEB窗体文件,并添加一个引用,将刚才生成的ComputerDll.dll文件作为引用添加到工程中。



9、在TestWSDL.aspx窗体的Load事件中编写代码:

ComputerNameSpace.Computer com=new ComputerNameSpace.Computer();

this.Response.Write("和:"+com.Add(45,65).ToString()+"
");

this.Response.Write("减:"+com.Sub(78,900).ToString()+"
");

this.Response.Write("乘:"+com.Multi(43,55).ToString()+"
");

this.Response.Write("除:"+com.Devide(1000,33).ToString());

显示结果:

和:110
减:978
乘:2365
除:30.3030303030303



10、至此,程序完成。
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐