我的第一Web Services
一、一个简单Web服务的实现
Web是位了程序到用户的交互,而Web服务是为了程序到程序的交互作准备。
以下为代码:1 using System;
2 using System.Collections;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Diagnostics;
6 using System.Web;
7 using System.Web.Services;
8 using System.Data.SqlClient;
9
10
11 namespace WebServiceSample
12 {
13 /// <summary>
14 /// 文件名为:Service1.asmx
15 /// </summary>
16 public class Service1 : System.Web.Services.WebService
17 {
18 public Service1()
19 {
20 //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
21 InitializeComponent();
22 }
23
24 #region 组件设计器生成的代码
25
26 //Web 服务设计器所必需的
27 private IContainer components = null;
28
29 /// <summary>
30 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
31 /// 此方法的内容。
32 /// </summary>
33 private void InitializeComponent()
34 {
35 }
36
37 /// <summary>
38 /// 清理所有正在使用的资源。
39 /// </summary>
40 protected override void Dispose( bool disposing )
41 {
42 if(disposing && components != null)
43 {
44 components.Dispose();
45 }
46 base.Dispose(disposing);
47 }
48
49 #endregion
50
51
52
53 [WebMethod]
54 public string HelloWorld()
55 {
56 return "Hello World";
57 }
58 [WebMethod]
59 public DataSet DataVisit(string strno)
60 {
61 string mySelectQuery = "SELECT s_no,s_name,class_no,s_sex FROM student WHERE s_no='"+strno+"'";
62 string strConn = "uid=sa;pwd=;server=ZHH007;database=Study";
63 SqlConnection myConnection = new SqlConnection(strConn);
64 SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
65 myConnection.Open();
66 SqlDataAdapter Adapter = new SqlDataAdapter();
67 Adapter.SelectCommand = myCommand;
68 DataSet myDs = new DataSet();
69 Adapter.Fill(myDs,"student");
70 myConnection.Close();
71 return myDs;
72 }
73 }
74 }
75该Web服务程序包含两个服务函数:public string HelloWorld()与public DataSet DataVisit(string strno)。
二、在ASP.NET中应用这个Web服务
注:项目|添加Web引用(如图所示)引用完成后“解决方案资源管理器”视图如下:
然后进行界面设计:下面是BUTTON的事件代码:
1 private void Button1_Click(object sender, System.EventArgs e)
2 {
3 WebConsumer.stu.Service1 stuInfo = new WebConsumer.stu.Service1();
4 DataSet myDs = new DataSet();
5 myDs = stuInfo.DataVisit(TextBox1.Text);
6 DataGrid1.DataSource = myDs.Tables[0].DefaultView;
7 DataGrid1.DataBind();
8 }