使用 WebMethod 屬性

2021-05-25 05:03:13 字數 3157 閱讀 7053

將 webmethod 屬性 (attribute) 附加到 public 方法表示希望將該方法公開為 xml web services 的一部分。您還可以使用該屬性 (attribute) 的屬性 (property) 進一步配置 xml web services 方法的行為。有關更多資訊,請參見託管**中的 xml web services 的**模型。

webmethod 屬性 (attribute) 提供以下屬性 (property):

bufferresponse

webmethod 屬性 (attribute) 的 bufferresponse 屬性 (property) 啟用對 xml web services 方法響應的緩衝。當設定為 true(預設設定)時,asp.net 在將響應向下傳送到客戶端之前對整個響應進行緩衝。緩衝非常有效,它通過最小化輔助程序和 iis 程序之間的通訊來幫助提高效能。當設定為 false 時,asp.net 以 16kb 的塊區緩衝響應。通常,只有在不想將響應的全部內容一次緩衝到記憶體時,才將該屬性 (property) 設定為 false。例如,您在反寫乙個集合,該集合正在以流的形式從資料庫輸出其項。除非另外指定,預設值為 true。有關更多資訊,請參見 webmethodattribute.bufferresponse 屬性 (property)。

緩衝 xml web services 方法的響應

cacheduration

webmethod 屬性 (attribute) 的 cacheduration 屬性 (property) 啟用對 xml web services 方法結果的快取。asp.net 將快取每個唯一引數集的結果。該屬性 (property) 的值指定 asp.net 應該對結果進行多少秒的快取處理。值為零,則禁用對結果進行快取。除非另外指定,預設值為零。有關更多資訊,請參見 webmethodattribute.cacheduration 屬性 (property)。

快取 xml web services 方法的結果

說明webmethod 屬性 (attribute) 的 description 屬性 (property) 提供 xml web services 方法的說明,該說明將顯示在服務幫助頁上。除非另外指定,預設值為空字串。有關更多資訊,請參見 webmethodattribute.description 屬性 (property)。

提供 xml web services 方法的說明

webmethod 屬性 (attribute) 的 enablesession 屬性 (property) 啟用 xml web services 方法的會話狀態。一旦啟用,xml web services 就可以從 httpcontext.current.session 中直接訪問會話狀態集合,或者,如果它是從 webservice 基類繼承的,則可以使用 webservice.session 屬性來訪問會話狀態集合。除非另外指定,預設值為 false。有關更多資訊,請參見 webmethodattribute.enablesession 屬性 (property)。

在 xml web services 方法中啟用會話狀態

messagename

webmethod 屬性 (attribute) 的 messagename 屬性 (property) 使 xml web services 能夠唯一確定使用別名的過載方法。除非另外指定,預設值是方法名稱。當指定 messagename 時,結果 soap 訊息將反映該名稱,而不是實際的方法名稱。有關更多資訊,請參見 webmethodattribute.messagename 屬性 (property)。

為 xml web services 方法提供訊息名

transactionoption

webmethod 屬性 (attribute) 的 transactionoption 屬性 (property) 使 xml web services 方法可以作為事務的根物件參與。雖然可以將 transactionoption 屬性 (property) 設定為 transactionoption 列舉的任意值,但 xml web services 方法僅有兩個可能的行為:它不參與事務(disabled、notsupported、supported)或它建立乙個新事務(required、requiresnew)。除非另外指定,預設值為 transactionoption.disabled。有關更多資訊,請參見 webmethodattribute.transactionoption 屬性 (property)。

除了任何 xml web services 方法的必備條件外,您還需要新增乙個對 system.enterpriseservices.dll 的引用。該命名空間包含了公開在 com+ services 中找到的分布式事務模型的方法和屬性 (property)。system.enterpriseservices.contextutil 類允許您使用 setabort 或 setcomplete 方法選擇事務。有關更多資訊,請參見參與使用 asp.net 建立的 xml web services 中的事務和自動事務和 xml web services。

使用 xml web services 方法建立新事務

新增乙個對 system.enterpriseservices.dll 的引用。有關更多資訊,請參見新增和移除引用。

將 system.enterpriseservices 命名空間新增到 xml web services,如下所示:

visual basic

imports system.enterpriseservices

c#using system.enterpriseservices;

使用 webmethod 屬性 (attribute) 的 transactionoption 屬性 (property),如下所示:

visual basic

public class service1 inherits system.web.services.webservice _ public function dosomethingtransactional() as string 'the transaction was successful... contextutil.setcomplete dosomethingtransactional = contextutil.transactionid.tostring() end functionend class

c#public class service1 : system.web.services.webservice}

webservice中WebMethod的屬性

webmethod有6個屬性 description enablesession messagename transactionoption cacheduration bufferresponse 1description 是對webservice方法描述的資訊。就像webservice方法的功能...

C 使用屬性

我們通常把字段定義為私有的,屬性定義為公共的,通過屬性訪問字段。定義乙個屬性時,型別必須和它所訪問的字段一致。例如 姓名 name為string型別,那麼它對應的屬性name也一定是string型別。屬性本質上是方法,只是與方法不同。可以例項化物件後給屬性賦值,也可以取值,只呼叫屬性即可。不需要訪問...

使用OpacityMask 屬性

uielement有opacitymask屬性,它表示當前元素的不透明蒙版。該屬性的值是brush型別,當給屬性賦值後,該屬性僅使用alpha 通道值,其他通道 rgb 通道將會被忽略。下面的例子使用lineargradientbrush漸變色作為影象的不透明蒙版。原圖不設定不透明蒙版顯示如下 設定...