天天看點

使用vs2005 webservice 建立,部署,調用的簡單執行個體

初學 webservice 。通過參考其他文章,自己也做個簡單的測試例子。現把webservice 建立 部署  調用的步驟記錄下來。 供交流學習。

使用vs2005 webservice 建立,部署,調用的簡單執行個體

1 建立web服務

打開“檔案”->“建立”->“網站”,在對話框中選擇“ASP.NET Web服務”。

(我在用vs2005執行以上步驟的時候,打開的對話框的模闆中預設顯示的模闆沒有“ASP.NET Web服務”。

這時候,在對話框底部的語言選項中。點開,可以看到有2個 'VIsual c#' 的選擇項,選擇下面的 'VIsual c#',然後,模闆中就會出現“ASP.NET Web服務”的模闆)

修改項目名稱:WebServiveTest 。 “确定”

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";

    }

}

2.生成網站

“生成”->“生成網站”

或直接Shift+F6

3.釋出網站

“生成”->“釋出網站”,會彈出一個對話框,什麼也不需要修改,記下釋出的目錄。

或者修改為你自己網站目錄。這裡我修改的目錄:E:/vs2005/WebServiveTest 。

4.配置IIS

之前我已經在iis中配置了一個虛拟站點,名稱為:vs2005,其檔案位置就是E:/vs2005/ 。

是以。我隻要修改一下配置即可。

打開“Internet 資訊服務(IIS)管理器”,點開vs2005站點。目錄下可以看到剛才釋出的檔案目錄‘WebServiveTest’。

在‘WebServiveTest’目錄上,‘右鍵’-‘屬性’-‘目錄’ 在應用程式名後點選“添加” 然後确定即可

在你的WEB目錄下一個檔案夾,比如WebService,并将第3步釋出目錄中的所有檔案和目錄拷貝到這個目錄中,打開IIS,找到你的站點,在這個WebService目錄上點右鍵,選擇屬性,在彈出對話框的“目錄”選擇項卡中點選“建立”按鈕,然後确定即可

這時,‘WebServiveTest’目錄前的圖檔會變,不在是檔案夾的圖示。然後,找到其目錄下的 Service.asmx檔案,’右鍵‘-’浏覽‘。

通過浏覽器來驗證。

/Service.asmx 頁面會出現以下内容,簡略寫

-------------------------------------------------------------------------------

Service

支援下列操作。有關正式定義,請檢視服務說明。

  • HelloWorld

此 Web 服務使用 http://tempuri.org/ 作為預設命名空間。

建議: 公開 XML Web services 之前,請更改預設命名空間。

每個 XML Web services 都需要一個唯一的命名空間,以便用戶端應用程式能夠将它與 Web 上的其他服務區分開。http://tempuri.org/ 可用于處于開發階段的 XML Web services,而已釋出的 XML Web services 應使用更為永久的命名空間。

應使用您控制的命名空間來辨別 XML Web services。例如,可以使用公司的 Internet 域名作為命名空間的一部分。盡管有許多 XML Web services 命名空間看似 URL,但它們不必指向 Web 上的實際資源。(XML Web services 命名空間為 URI。)

使用 ASP.NET 建立 XML Web services 時,可以使用 WebService 特性的 Namespace 屬性更改預設命名空間。WebService 特性适用于包含 XML Web services 方法的類。下面的代碼執行個體将命名空間設定為“http://microsoft.com/webservices/”:

C#

[WebService(Namespace="http://microsoft.com/webservices/")]






public class MyWebService {
    // 實作
}      

Visual Basic

<WebService(Namespace:="http://microsoft.com/webservices/")> Public Class MyWebService
    ' 實
End Class      

C++

[WebService(Namespace="http://microsoft.com/webservices/")]






public ref class MyWebService {





    // 實作





};      

-----------------------------------------------------------------------------------------------

點選頁面中的 “HelloWorld” ,再點選“調用”按鈕。頁面以xml格式輸出以下内容

 <?xml version="1.0" encoding="utf-8" ?>

  <string xmlns="http://tempuri.org/">Hello World</string>

這樣 一個簡單的webservice就建完了、

然後,可以修改 HelloWorld方法法,加入幾個參數,例如:

public string HelloWorld(string inStr,int inInt,string inStr2) {

     return "Hello World. this is first webService:" + inStr  + ",int=" + inInt + "," + inStr2;

    }

看看其運作有何變化。

下面開始調用webservice

調用webservice

在VS2005中建立一個Windows應用程式項目,取名TestWebService,在項目中添加一個WEB引用,

可在“解決方案資料總管”的項目名上點右鍵添加,在彈出對話框中的URL輸入框中輸入WEB伺服器的路徑:

如http://你的域名/web服務務路徑 /service.asmx,

點選“前行”按鈕後會搜尋這個服務,并在右邊報告找到的服務,

并在左邊顯示service.asmx頁面,我們在WEB引用名輸入框中輸入一個名字,

這個将做為程式中WEB服務的命名空間名,這裡我們取名MyWebService。

添加按鈕單擊事件

在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()函數顯示出來。