建立Web服務

2021-04-13 09:48:33 字數 3410 閱讀 1406

把**直接放到

.a**x

檔案中或者從這些檔案中引用

web服務類,都可以實現對

web服務的建立。如同

asp.net

頁一樣,在

vs.net

中建立web

服務也使用後一種方法,目的是把問題講述得更清楚一些。 如圖

26-1

所示,建立

web服務專案

pcswebsrv1

,此時系統會生成一系列的檔案,他們與建立

web應用程式專案時所生成的一組檔案相似。實際上,惟一的區別就是建立

web應用程式時生成的檔案是

webform1.aspx

,而建立

web服務專案時生成的檔案是

service1.a**x。

圖26-1 通過

vs.net

並不能直接訪問

service1.a**x

中的**,但是使用

notepad

可以看到如下的**:

<%@ webservice language="c#" codebehind="service1.a**x.cs"

class="pcswebsrv1.service1" %>

上面**的作用是引用

vs.net

中的**檔案

service1.a**x.cs

,在solution explorer

中右擊service1.a**x

,選擇view code

,就可以訪問

service1.a**x.cs

檔案。生成的**如下所示

(為了簡化起見,這裡省略了注釋):

using system;

using system.collections;

using system.componentmodel;

using system.data;

using system.diagnostics;

using system.web;

using system.web.services;

namespace pcswebsrv1

#region component designer generated code

private icontainer components = null;

private void initializecomponent()

protected override void dispose( bool disposing )

base.dispose(disposing); }

#endregion }

}這段**包含幾個標準命名空間引用

,定義了命名空間

pcswebsrv1

,該命名空間

包含乙個

web服務類

service1

的定義(

它在service1.a**x

中引用),類

service1

是從system.web. services.webservice

繼承而來的

,它也包含與

asp.net

頁面的後台編碼檔案

(詳見第25章

)類似的**。這些**是在

vs.net

中設計web

服務所需要的,其中一部分**是乙個私有成員,包含了可以新增到

web服務中的元件。為了讓

web服務類正確地釋放資源,還有乙個

dispose()

方法,它可以清理這個集合中的所有元件。現在我們應在這個

web服務類上提供其他方法。

在通過web服務新增可以訪問的方法時,需要把方法定義為

public

,並使方法具有

webmethod

屬性。這個屬性可以把我們想要的方法標記為可訪問的。稍後將會學習返回型別和引數所用到的型別,現在僅新增下面的方法。

[webmethod]

public string canwefixit()

接著編譯該專案。將

web瀏覽器指向

service1.a**x

,檢查服務的工作情況

(如果執行該專案,就會進入這個頁面

),如圖

26-2

所示。

圖26-2

在瀏覽器中顯示的大多數文字都說明

web服務命名空間被設定為

。這在開發過程中不是問題,但以後應修改它。為此可以使用

webservice

屬性,但目前不修改它。

單擊方法名稱,可以得到

soap

請求和響應的資訊,此外,還可以得到乙個示例,通過該示例對如何通過

和http post

方法對請求和響應有乙個感性的認識。另外,也可以單擊

invoke

按鈕,對方法進行測試。如果方法需要簡單的引數,在這個窗體中也可以輸入它們。這樣,就可以看到方法呼叫所返回的

xml:

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

yes we can!

這說明方法執行良好。

單擊圖26-2

的瀏覽器螢幕上的

service description

鏈結,可以檢視

web服務的

wsdl

描述。其中最重要的部分是關於請求和響應的元素型別的描述:

該描述比較長,除了包含服務的各種繫結之外,還可以包含請求和響應所需型別的描述。

1. web

服務可以使用的型別

web服務可以用於交換表

26-1

中所示的型別。 表

26-1

string

char

byte

boolean

int16

int32

int64

uint16

uint32

uint64

single

double

guid

decimal

datetime

xmlqualifiedname

class

struct

xmlnode

dataset

enum

以上所有型別的陣列都是允許的。還要注意,只能編組

class

和struct

型別的公共屬性和字段。

Golang 建立Web服務

使用 go 語言,我們可以輕鬆建立出 web 服務,這一點比 node.js 還要簡單,今天就來總結一下 go 語言中 web 服務的建立方式。首先,我們需要引入 net http 這個包來處理 http 請求,然後在指定的埠開啟服務,下面來寫乙個最簡單的 web 服務程式 func handler...

使用WCF建立Web服務

learn wcf service basic wcf是使用託管 建立和執行面向服務 service oriented 應用程式的統一框架。它使得開發者能夠建立乙個跨平台的 安全 可信賴 事務性的解決方案,且能與已有系統相容協作。wcf是微軟分布式應用程式開發的集大成者,它整合了 net 平台下所有...

建立web服務並發布

1.3 建立web服務並發布 1.3.1 web.xml中配置xfire的servlet及其配置 當建立web service時自動會在web.xml配置檔案中增加如下xfire的servlet配置 1.4 建立客戶程式,呼叫web服務 1.4.1 客戶程式的關鍵 需要匯入的包如下 import o...