C# vs2010中如何建立webservice

轉自:http://blog.csdn.net/yapingxin/article/details/7331375 api


不少人在論壇裏說,在Visual Studio 2010中不能建立「ASP.Net Web Service」這種project了,下面跟帖者云云,有的說這是由於微軟已經將Web Service整合進WCF,也有的提出一種先將.Net Framework Target設置爲3.5的一種很「Tricky」的做法,其實這些說法是不許確的。微軟確實用WCF整合了Web Service,但並不等於說微軟不許備讓你們在Visual Studio裏面建立傳統的Web Service了。其實正確的作法很簡單,你們一看就恍然大悟了。ide


第一步:建立一個「ASP.Net Empty Web Application」項目this



第二步:在項目中添加「Web Service」新項目編碼

第一步以後,Visual Studio 2010會建立一個僅含一個站點配製文件(Web.config)的空站點,其他的什麼也沒有。
spa

咱們在Visual Studio 2010的Solution Explorer中,選中當前的這個project,添加新項目(右鍵菜單:Add --> New Item),選擇「Web Service」這種類型:.net


看到這裏讀者應該就恍然大悟了吧。orm


好,咱們繼續:blog


第三步:編碼、運行教程


添加完Web Service這種new item以後,Visual Studio已經替咱們寫了個示範的Web方法了:ip


[csharp] view plaincopyprint?

  1. using System;  

  2. using System.Collections.Generic;  

  3. using System.Linq;  

  4. using System.Web;  

  5. using System.Web.Services;  

  6.   

  7. namespace sitedemo.Services  

  8. {  

  9.     /// <summary>  

  10.     /// Summary description for CalculateService  

  11.     /// </summary>  

  12.     [WebService(Namespace = "http://tempuri.org/")]  

  13.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  

  14.     [System.ComponentModel.ToolboxItem(false)]  

  15.     // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.   

  16.     // [System.Web.Script.Services.ScriptService]  

  17.     public class CalculateService : System.Web.Services.WebService  

  18.     {  

  19.   

  20.         [WebMethod]  

  21.         public string HelloWorld()  

  22.         {  

  23.             return "Hello World";  

  24.         }  

  25.     }  

  26. }  


直接Press F5就能夠看到結果:





而後咱們改寫這段代碼,添加咱們本身的方法進去:


[csharp] view plaincopyprint?

  1. using System.Web.Services;  

  2.   

  3. namespace sitedemo.Services  

  4. {  

  5.     /// <summary>  

  6.     /// Summary description for CalculateService  

  7.     /// </summary>  

  8.     [WebService(Namespace = "http://tempuri.org/")]  

  9.     public class CalculateService : WebService  

  10.     {  

  11.         [WebMethod]  

  12.         public string HelloWorld()  

  13.         {  

  14.             return "Hello World";  

  15.         }  

  16.   

  17.         [WebMethod]  

  18.         public int Add(int x, int y)  

  19.         {  

  20.             return x + y;  

  21.         }  

  22.     }  

  23. }  


運行:





怎麼樣,是否是很簡單?微笑



總結

如今咱們再回過頭來看看,從VS2010以前版本的舊的建立Web Service的方式,到如今新的變化,Visual Studio改動了什麼?

手頭的機器沒有裝舊版的Visual Studio,我就現從網上抓一張教程裏的截圖吧,讓咱們看看舊版的Visual Studio裏面你們建立Web Service時建立新項目的截圖:


不少人說在Visual Studio 2010裏面沒法建立Web Service,他們大概是在尋找上面截圖中的這種「ASP.Net Web Service」項目吧。

如今再回過頭來看看,其實微軟在Visual Studio 2010裏面做了一個至關合理(make sense)的改變。

Web Service並不能單獨存在,它必須Host在一個Web Site/Web Application上面。因此,在一個Web Site/Web Application裏面,經過Add new item添加一個Web Service,這纔是最合理的做法。

相關文章
相關標籤/搜索