1、編寫一個WebServiceweb
開發環境:VS2012數據庫
1.編寫webservice階段瀏覽器
打開VS2012,新建一個空的web應用程序,我這裏用的Framework版本是4.5的服務器
新建好web應用程序後,在新建一個WebService服務項。測試
這樣咱們就看到了這樣的一個界面。加密
將Hello World刪除,修改成下面的這個代碼。spa
using System;3d
using System.Collections.Generic;orm
using System.Linq;blog
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的建立和部署.接下來,咱們要在本地使用它
2、客戶端使用
打開VS2012,建立一個空的web應用程序
在工程裏面添加一個空的web窗體
在項目 用,顯示界面以下:
點擊左下角的高級,出現界面以下
點擊添加Web引用,出現界面以下
在URL中輸入咱們發佈的WebService的URL地址,系統會自動搜索到服務.而且爲Web引用設置一個引用名.此引用名將是咱們在項目中引用這個服務的命名空間
點擊添加引用,引用完成.
接下來,咱們在WebForm1的cs文件中寫以下代碼
接下來,在瀏覽器中運行該項目.能夠看到以下結果
這樣就能夠輸出結果了,算是完成了一次WebService使用過程了。
在這裏要注意,當WebService鏈接數據庫時,咱們要適當的給WebService進行加密.
加密的方式不少,你能夠經過在IIS服務器上禁止匿名訪問來實現,也能夠給WebService的驗證增長驗證內容,最
簡單的就是加上用戶名和密碼.
還要注意,不要用有含義的方法名稱,好比Login或者PayOrder等,回傳數據不要使用bool值,儘可能使用字符串來替
代,最好在字符串中加上干擾碼等.
在發佈過程當中可能會出現測試窗口只能在本地實現,這樣就須要在web.config中配置
在System.web中添加圖中紅色圈中的便可