然后编写Windows客户端和Web客户端消费该服务

类别:.NET开发 点击:0 评论:0 推荐:

为了体现XMLWebService的可跨越异质平台、与系统无关与设备无关与消费者的应用程序类型无关等特性。
给学生演示了用C#编写一个Windows程序来消费该服务的例子:

代码很简单,只是添加如下几行而已:
  private void button1_Click(object sender, System.EventArgs e)
  {
   Get.Service1 AA=new WS03.Get.Service1();
   string score=AA.GetScore(comboBox1.SelectedItem.ToString(),comboBox2.SelectedItem.ToString()).ToString();
   label3.Text="学生"+comboBox1.SelectedItem.ToString()+"的"+comboBox2.SelectedItem.ToString()+"成绩是:"+score;
  }

  private void button2_Click(object sender, System.EventArgs e)
  {
   Get.Service1 AA=new WS03.Get.Service1();
   string average=AA.GetAverage(comboBox1.SelectedItem.ToString()).ToString();
   label4.Text="学生"+comboBox1.SelectedItem.ToString()+"的平均分是:"+average;
  }

  private void button3_Click(object sender, System.EventArgs e)
  {
   Get.Service1 AA=new WS03.Get.Service1();
   string order=AA.GetOrder(comboBox1.SelectedItem.ToString()).ToString();
   label5.Text="学生"+comboBox1.SelectedItem.ToString()+"的排名是:第"+order+"名";
  }


然后再用VB.NET编写一个ASP.NET程序来调用该服务:

代码也是非常的简单:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim AA As New [Get].Service1
        Label1.Text = AA.GetScore(DropDownList1.SelectedItem.Text, DropDownList2.SelectedItem.Text)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim AA As New [Get].Service1
        Label2.Text = AA.GetAverage(DropDownList1.SelectedItem.Text)
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim AA As New [Get].Service1
        Label3.Text = AA.GetOrder(DropDownList1.SelectedItem.Text)
    End Sub
当然在这两个程序里都不要忘记添加进该Web引用,在本地生成SOAP代理,只不过有很多的工作都由VS.NET这个IDE给完成了。
如果是使用WebMatrix来编写ASP.NET消费Web服务的话,可就有一番工作需要你自己完成了,这个等下次再讲。

本文地址:http://com.8s8s.com/it/it42921.htm