• 三、代理类


    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的命令提示工具,输入:wsdl  /out:Computer.cs http://localhost/TeachShow/Charpter8/FirstAndUse/Computer.asmx /n:ComputerNameSpace,其中,/out:Computer.cs 是要输出的cs文件,/n: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、注意,此时在D:盘(其实就是命令提示符的当前目录)下生成一个和Computer.asmx相同文件名的C#源文件Computer.cs。

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

    7、此时,将会在D:盘下生成一个叫ComputerDll.dll的文件,要使用这个文件,必须复制到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());

    注:个人认为:

    调用WebService的方法有几种:

    1.通过添加Web引用的方式

    2.生成代理类,然后调用代理类中的方法

    3.由代理类再生成Dll,最后添加dll引用,最后调用dll中的方法

  • 相关阅读:
    2011年全球手机市场十大事件
    异地求学催生网卖“生活费” 家长称不听话退款
    pygame库常用
    pygame_鼠标事件
    在Python和Django模板系统中的真值
    Django seeting配置(一)
    Django数据库配置
    转载CSS boxflex属性(弹性盒子模型)
    java volatile变量
    并发资料收集
  • 原文地址:https://www.cnblogs.com/mengyuxin/p/5045709.html
Copyright © 2020-2023  润新知