学习笔记:web服务的创建及使用

       在前面的ajax学习中,异步交互的级联动态下拉DropDownList效果就是通过webService的使用实现的。但其web服务的引用是在前台页面中直接通过ajax服务器端控件的属性配置调用的,算是比较“非正规”的引用方法。

        1、创建一个非常简单的webService文件,通过解决方案添加新项-web服务(后缀名为asmx),命名为webService。

        代码如下:

  1. [WebMethod]
  2. public String Test()
  3. {
  4.    return "Test Successfully !";
  5. }

 

        默认的其他代码最好不用改动。

       2、使用web服务。有两种方法实现。第一,使用WSDL.exe命令行工具。在命令行上使用wsdl.exe时,它会根据web服务的wsdl描述生成一个包含代理类的.cs文件。使用web服务的url来指定该文件,例如:

 

      

        在使用这个代理类时,只需要把生成的.cs文件添加到项目中,使用下面的代码就可以了:

  1. webService myService =new webService();//webService即为我们新建的web服务文件名称 
  2. String result=myService.Test();

       默认状态下,生成的类将放在根命名空间中,因此不需要使用using语句,但是,可以使用wsdl.exe命令行选项/n:<namespace>指定一个不同的命名空间。

      此方法的不足:如果服务正处于开发或处于连续变动中,比较费事。

      第二个方法,也是比较好的常用的方法(详见4)。先做第3步吧。

      3、新建一个aspx页test.aspx,页面代码如下:

 

  1. <form id="form1" runat="server">
  2.     <div>
  3.     <asp:Label runat="server" ID="resultLable"></asp:Label>
  4.     <br />
  5.     <asp:Button runat="server" ID="triggerButton" Text="Invoke CanWeFixIt()" OnClick="triggerButton_Click" />
  6.     </div>
  7.     </form>
        4、首先需要在项目中添加对web服务的引用。方法是:在项目解决方案中选择“添加web引用”,在弹出的对话框中直接键入web服务文件webService.asmx的URL,或者在“本地机器上的web服务”自动查找它,接着单击“添加引用”。当应先把web引用的默认内容从localhost改为你自己定义的名称,如myWebService(这里就是后面要用到的引用命名空间名称)。在解决方案资源管理器中显示这个文件夹时可以看到webService.disco、webService.discomap和webService1.wsdl文件。
 
        5、在test.aspx页面后台中添加引用
           using myWebService;/也可以不添加,使用web服务时使用空间路径全名
        6、用下面的代码把事件处理程序添加个窗体上的按钮:
         
  1.  protected void triggerButton_Click(object sender, EventArgs e)
  2.     {
  3.         WebService myService = new WebService();
  4.         resultLable.Text = myService.Test();
  5.     }
 
          到此,一个简单的web服务例子已完成。运行应用程序,单击按钮,将在浏览器中显示Test()的执行结果。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值