一、編寫一個WebService
開發環境:VS2012
1.編寫webservice階段
打開VS2012,新建一個空的web應用程序,我這里用的Framework版本是4.5的
新建好web應用程序后,在新建一個WebService服務項。
這樣我們就看到了這樣的一個界面。
將Hello World刪除,修改為下面的這個代碼。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace FirstWebService
{
/// <summary>
/// FirstWebService 的摘要說明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消注釋以下行。
// [System.Web.Script.Services.ScriptService]
public class FirstWebService : System.Web.Services.WebService
{
[WebMethod]
public int Sum(int a, int b)
{
return a + b;
}
[WebMethod]
public int Sub(int a, int b)
{
return a - b;
}
[WebMethod]
public double Mult(double a, double b)
{
return a * b;
}
[WebMethod]
public double Div(double a, double b)
{
return a / b;
}
}
}
此時,我們已經完成這個WebService的代碼部分.接下來我們要將這個WebService打包發布,注意,在發布之前要編譯,不編譯會發布不成功的。
2.發布階段
在項目上右鍵,選擇發布
此時出現如下頁面
點擊下拉菜單選擇新建配置文件
在就是選擇目標位置
這里就要選擇發布的位置,可以選擇文件系統,也可以選擇在IIS服務器上發布,如果要在IIS服務器上發布,首先要在項目屬性中的web中使用本地的IIS服務器
這里創建虛擬目錄就可以了
這里先說本地IIS發布,點擊之后會發現里面有個本地IIS點擊,找到你在IIS上面創建的webservice工程,點擊打開即可
選擇文件系統發布,找個發布的位置即可,可以新建一個文件夾,找到位置即可,點擊打開
點擊下一步
點擊圖中的下拉框,選擇和圖中紅圈中類似即可,點擊發布
這樣webservice服務端算是完成了,添加到服務器上就可以使用了。
在IIS上發布的可以看到,紅圈里面的就是剛剛寫的方法,點擊一個(Div測試)
輸入測試數據, 點擊調用
此時我們已經完成了這個WebService的創建和部署.接下來,我們要在本地使用它
二、客戶端使用
打開VS2012,創建一個空的web應用程序
在工程里面添加一個空的web窗體
在項目 用,顯示界面如下:
點擊左下角的高級,出現界面如下
點擊添加Web引用,出現界面如下
在URL中輸入我們發布的WebService的URL地址,系統會自動搜索到服務.並且為Web引用設置一個引用名.此引用名將是我們在項目中引用這個服務的命名空間
點擊添加引用,引用完成.
接下來,我們在WebForm1的cs文件中寫如下代碼
接下來,在瀏覽器中運行該項目.可以看到如下結果
這樣就可以輸出結果了,算是完成了一次WebService使用過程了。
在這里要注意,當WebService連接數據庫時,我們要適當的給WebService進行加密.
加密的方式很多,你可以通過在IIS服務器上禁止匿名訪問來實現,也可以給WebService的驗證增加驗證內容,最
簡單的就是加上用戶名和密碼.
還要注意,不要用有含義的方法名稱,比如Login或者PayOrder等,回傳數據不要使用bool值,盡量使用字符串來替
代,最好在字符串中加上干擾碼等.
在發布過程中可能會出現測試窗口只能在本地實現,這樣就需要在web.config中配置
在System.web中添加圖中紅色圈中的即可