程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 如何創建、發布Web Service和 C#WINFORM裡如何調用WEB Service A

如何創建、發布Web Service和 C#WINFORM裡如何調用WEB Service A

編輯:關於C#
 

一、創建和發布Web Service
Web服務方法中可以返回一個DataSet對象
WEB服務可以說是下一代WEB應用程序的基礎,無論客戶端是WINDOWS應用、ASP.NET Web Form程序、甚至其他語言的客戶端,都可以與同一個WEB服務通信,其平台和語言無關性使其有了廣闊的發展空間。

利用VS2005和IIS我們可以很容易地發布一個WEB SERVICE,因為其中有幾個細節需要注意,所在初學者常常在這裡出現問題,現通過一個簡單的例子說明如何創建和發布一個WEB SERVICE。

環境:Windows Server 2003,.Net FrameWork 2.0,IIS6.0

工具:VS2005

1.首先VS2005中新建一個WEB服務項目。

打開“文件”-“新建”-“網站”,在對話框中選擇“ASP.NET Web服務”,VS2005會自動生成一個Service.cs文件,包含如下代碼:

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {

//如果使用設計的組件,請取消注釋以下行
//InitializeComponent();
}

[WebMethod]
public string HelloWorld() {
return "Hello World";
}

}


你可以在這裡修改自己的命名空間,加入自己的方法,但本文只是為了說明如何創建和發布,所以對Service.cs不做任何更改。

2.生成網站

很簡單,“生成”-“生成網站”或直接Shift+F6

3.發布網站

也是簡單,“生成”-“發布網站”,這裡會彈出一個對話框,什麼也不需要修改,記下發布的目錄。比如:D:/我的文檔/Visual Studio 2005/Projects/WebSite1/PrecompiledWeb/WebSite1,我們需要目錄下的文件。

4.配置IIS

在你的WEB目錄下一個文件夾,比如webservice,並將第3步發布目錄中的所有文件和目錄拷貝到這個目錄中,打開IIS,找到你的站點,在這個webservice目錄上點右鍵,選擇屬性,在彈出對話框的“目錄”選擇項卡中點擊“創建”按鈕,然後確定即可。

到這時,已經大功告成,你可以通過訪問http://域名/webservice/Service.asmx來驗證。頁面會出現如下圖所示內容:

 

注意:除了需要在IIS中對服務目錄創建程序外,還要注意防火牆或殺毒軟件的設置,我在首次訪問service.asmx文件時,殺毒軟件報告w3wp.exe在系統文件夾中生成asp_code.dll等,應該允許其他創建,否則會無法訪問。

通過這樣簡單的方法,你可以輕松建立自己的WEB服務,在同一站點還可以有多個WEB服務。

二、c#的winform中調用Web Service API(VB6.0也可以調用該web服務)
現在以C# WinForm為例談談如何使用它 ,在服務中我們只有一個自動生成的方法:HelloWord(),其實現如下:
[WebMethod]

public string HelloWorld(){

return "Hello World";

}
在WINFORM中我們將添加一個按鈕,添加單擊事件,在事件處理函數中彈出一個對話框顯示HelloWord的結果。

1.添加WEB引用

在VS2005中新建一個Windows應用程序項目,取名testwebservice,在項目中添加一個WEB引用,可在“解決方案資源管理器”的項目名上點右鍵添加,在彈出對話框中的URL輸入框中輸入WEB服務器的路徑:如http://你的域名/web服務務路徑/service.asmx,點擊“前行”按鈕後會搜索這個服務,並在右邊報告找到的服務,並在左邊顯示service.asmx頁面,我們在WEB引用名輸入框中輸入一個名字,這個將做為程序中WEB服務的命名空間名,這裡我們取名mywebservice。

2.添加按鈕單擊事件

在Form中拖出一個Button按鈕,雙擊單擊事件處理方法,代碼如下:

private void button1_Click(object sender, EventArgs e)
{
mywebservice.Service ws = new testwebservice.mywebservice.Service();
MessageBox.Show (ws.HelloWorld());
}

其中mywebservice.Service ws = new testwebservice.mywebservice.Service()是實例化一個WEB服務對象,ws.HelloWorld()是調用WEB服務中的這個HelloWorld方法,其返回字符串將用MessageBox.Show()函數顯示出來。

好了,最簡單的一個調用WEB服務API的WinForm例子已經完成了,編譯運行,單擊按鈕,將會彈出對話框顯示“Hello World”信息。

重要的一點,在.net的WEB服務API中,除了一般的數據類型外,還可以返回結構和DataSet對象,有了這一點,就可以構建我們大多數的數據庫應用了。

好了,接下來的工作就是在WEB服務中添加你的API完成你的工作了。
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved