日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(2) 第二章 WCF服务与数据契约 服务契约详解(三)- [ServiceContract]特性

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (2) 第二章 WCF服务与数据契约 服务契约详解(三)- [ServiceContract]特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章節主要目的:了解[ServiceContract]特性

如前幾章的進度,相信已經可以自己編寫服務契約以及如何在客戶端調用配置好的服務了。

本片主要講解一下SerivceContract中的幾個重要特性。

1.先看一下SerivceContract特性的成員列表

參數???????????????????? 說明

CallbackContract???????? 當契約是雙工時,讀取或設置回調契約的類型

ConfigurationName??????? 獲取或設置服務在應用程序配置文件中的名稱

HasProtectionLevel?????? 讀取一個值,表示此成員是否有一個保護級別

Name???????????????????? 獲取或設置WSDL文檔中<portType>元素的名稱

Namespace??????????????? 獲取或設置WSDL文檔中<portType>元素的名稱空間

ProtectionLevel????????? 設置對契約的綁定是否支持ProtectionLevel屬性的值

SessionMode????????????? 獲取或設置會話是否允許,以及是否得到了請求

好了,ServiceContract特性是指定附加上的類或接口做為服務的契約。顯示的使接口定義為CLR接口,并且使它能夠執行WCF的操作,且每一個[ServiceContract]屬性都會映射到等價的WDL portType聲明中。

CallbackContract????????

此參數用于獲取或設置當前契約在雙工模式通信時回調的契約。它包涵了回調契約的類型。示例代碼:

?

namespace CallbackContractDemo {[ServiceContract(CallbackContract = typeof(IDemoCallbackContract))]public interface IDemo{[OperationContract]int Add(int a, int b);}public interface IDemoCallbackContract{int GetResult(int c);} }

?

大家可以看到CallbackContract = typeof(IDemoCallbackContract),那IDemoCallbackContract的內容由調用的客戶端去實現。

?

ConfigurationName

ConfigurationName用于獲取或設置配置文件中的元素名稱。示例代碼:

?

[ServiceContract(ConfigurationName="Service")] public interface IDemo {[OperationContract]int Add(int a, int b); }

下面是配置文件的內容

<configuration><system.servicemodel><services><service name="Demo"></service></services></system.servicemodel> </configuration>

?

HasProtectionLevel

這個就不多說了,就讀取一個值,表示此成員是否有一個保護級別


??Name

? Name參數是用來設置或獲得在WSDL中<portType>元素的名稱。

? 當然也可以用于不想將函數名稱以實名暴露在外面。

 

? Namespace

? Namespace參數用來設置或獲取WSDL中<portType>元素的命名空間。默認為http://tempuri.org

??使用命名空間可以防止接口或類的命名沖突。當然也可以用于不想將函數名稱以實名暴露在外面。

?

??? ProtectionLevel

??? 設定保護綁定的要求,每個端點的加密以及數字簽名等。

??? ProtectionLevel的參數的值來自System.Net.SecurityLevel.ProtectionLevel枚舉,也可以用下面的值:

????EncryptAndSign:簽名和加密來保證傳輸數據的機密性和完成性。

??? None:只驗證。

??? Sign:簽名能夠保證傳輸數據的完整性,不進行加密。

???

??? SessionMode

??? 此屬性指定會話的類型。

??? 也是一個枚舉SessionMode。

??? Allowed:如果進入的連接支持可靠會話,則契約支持可靠會話。

??? NotAllowed:指定的契約不支持可靠的會話。

??? Required:指定需要可靠會話的契約。

????要考慮的可靠會話的情況:

  • 希望提供HTTP會話

?

  • 在端點之間有間斷連接

?

  • 存在代理媒介或傳輸橋

?

  • 在端點之間有SOAP媒介

?

???

由于時間問題 待續中....見諒













轉載于:https://www.cnblogs.com/wujiang/archive/2012/01/06/2314978.html

總結

以上是生活随笔為你收集整理的(2) 第二章 WCF服务与数据契约 服务契约详解(三)- [ServiceContract]特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。