打開Visual Studio(我用的是2010)→文件→新建→項目→Visual C#→Web→ASP.NET Web 服務應用程序
打開Service1.asmx文件,會看到里面已經有個HelloWorld方法了,什么都不用改
項目名上右鍵→重新生成(重新生成:重新編譯每個文件。生成:在上次編譯的基礎上編譯那些修改過了的文件。)
進入該項目所在文件夾,復制bin文件夾和Service1.asmx文件到准備部署到IIS的文件夾,假設文件夾名為TestWebService,部署到本地IIS
打開瀏覽器→地址欄輸入“localhost:(端口)/Service1.asmx”→進入
頁面上會列出這個WebService所包含的方法,由於我們只包含HelloWorld方法,所以只看到一個HelloWorld方法的鏈接
以上,一個可用的WebService就創建好了。
接下來做一個最簡單的C#調用這個服務的例子:
文件→新建→項目→Visual C#→Windows→Windows窗體應用程序
項目創建好后,在項目名上右鍵→添加服務引用
在打開窗口的地址輸入欄上填入之前瀏覽器地址欄輸入的地址(“localhost:(端口)/Service1.asmx”)→前往→顯示該地址下的服務以及操作,點擊確定
在之后顯示的窗體上添加一個Button以及一個TextBox(沒有找到工具箱的話在 視圖→工具箱 里面添加)→雙擊這個按鈕進入代碼頁面
在雙擊事件方法內寫上:
ServiceReference1.Service1SoapClient obj = new ServiceReference1.Service1SoapClient(); textBox1.Text = obj.HelloWorld();
重新生成項目→運行→點擊按鈕看到TextBox中出現“HelloWorld”。
如果想要傳參,比如實現傳入X和Y,得到X+Y的結果,
就要在前面創建WebService項目的Service1.asmx.cs文件里的Service1類中多寫個WebMethod:
[WebMethod] public string calculate(int x, int y) { return (x + y).ToString(); }
調用的時候換成:
ServiceReference1.Service1SoapClient obj = new ServiceReference1.Service1SoapClient(); textBox1.Text = obj.calculate(1, 1);
就可以了。