採用的工具VS2010生成工程web
1. 生成webservice工程:建 ASP.NET 空WEB 應用程序。數據庫
2. 在建好的ASP.NET 空WEB應用程序中新建項「web 服務」。瀏覽器
完成上述內容工程結構以下圖asp.net
下面主要的操做就是在webservice1.asmx.cs文件中進行,裏面寫了幾個服務,兩個簡單服務兩個查詢數據庫服務;工具
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Services;
using
System.Data.SqlClient;
using
System.Data;
using
MySql.Data;
using
MySql;
using
MySql.Data.MySqlClient;
namespace
webservice
{
/// <summary>
/// WebService1 的摘要說明
/// </summary>
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(
false
)]
// 若要容許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的註釋。
// [System.Web.Script.Services.ScriptService]
public
class
WebService1 : System.Web.Services.WebService
{
[WebMethod]
public
string
HelloWorld()
{
return
"Hello World"
;
}
[WebMethod]
public
int
GetSum(
int
a,
int
b)
{
return
a + b;
}
[WebMethod]
public
DataSet query()
{
DataSet ds =
new
DataSet();
string
connstring =
"Database=test;Data Source=localhost;User Id=root;Password=root"
;
MySqlConnection mycn =
new
MySqlConnection(connstring);
mycn.Open();
MySqlDataAdapter mda =
new
MySqlDataAdapter(
"select * from stock_data"
, mycn);
mda.Fill(ds,
"stock_data"
);
return
ds;
}
[WebMethod]
public
DataSet goldprice()
{
DataSet ds =
new
DataSet();
string
connstring =
"Database=test;Data Source=localhost;User Id=root;Password=root"
;
MySqlConnection mycn =
new
MySqlConnection(connstring);
mycn.Open();
MySqlDataAdapter mda =
new
MySqlDataAdapter(
"select * from goldprice"
, mycn);
mda.Fill(ds,
"stock_data"
);
return
ds;
}
}
}
|
到目前爲至C# 的webservice的服務算是寫好了。下面咱們須要啓動些服務F5測試
運行成功的界面以下圖網站
二:發佈此webservicespa
1. 與發佈asp.net是同樣的,首先在IIS的網站節點下添加網站;以下圖.net
2. 修改此網站的高級設置: 把應用程序池修改成ASP.NET v4.0便可。調試
3. 瀏覽此網站http://192.168.56.1/WebService1.asmx若運行的效果與在VS2010運行的效果同樣則部署成功了。
三:webservice服務調用
1. 新建一個測試工程,在工程的引用節點中右擊「添加服務引用」把瀏覽器中的URL填寫到地址框中點前往,並修改命名空間;以下圖
2. 而後再從新生成一下測試項目,最後在測試項目中定義一個測試方法並調用webservice中的方法。代碼以下
1
2
3
4
5
6
7
8
9
10
|
private
void
button1_Click(
object
sender, RoutedEventArgs e)
{
YDTF.WebService1SoapClient aa =
new
YDTF.WebService1SoapClient();
button1.Content = aa.HelloWorld();
Menus m =
new
Menus();
m.Name =
"Name"
;
m.NameSpace =
"NameSpace"
;
DataSet ds = aa.query();
int
i = ds.Tables[0].Rows.Count;
}
|
3. 單步調試一下若運行結果和預料同樣則成功了。