新聞中心
WCF開發(fā)工具功能強大,可以幫助我們實現(xiàn)許多功能需求。在這里我們會為大家介紹一下WCF服務(wù)驗證的相關(guān)內(nèi)容,主要包括對其參數(shù)以及消息等的驗證。希望初學(xué)者們能從中獲得一些幫助。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),青岡企業(yè)網(wǎng)站建設(shè),青岡品牌網(wǎng)站建設(shè),網(wǎng)站定制,青岡網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,青岡網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
如果你的服務(wù)操作接受一些基本類型的參數(shù),譬如:
- [ServiceContract]
- public interface IOrdersService
- {
- [OperationContract]
- int CreateOrder(string currency, double amount);
- }
并且你想要通過WCF服務(wù)驗證它們,你可以在服務(wù)契約中使用基于參數(shù)的驗證。
- [ServiceContract]
- public interface IOrdersService
- {
- [OperationContract]
- int CreateOrder(
- [NotNullValidator] string currency,
- [RangeValidator(1.0, RangeBoundaryType.Inclusive, 2.0,
- RangeBoundaryType.Inclusive)] double amount);
- }
請注意在服務(wù)操作的每一個參數(shù)前面的驗證屬性的用法。這些屬性指定了參數(shù)驗證的必須條件,只有表注了這些屬性,Validation Application Block 才能在運行時給予驗證。
驗證傳遞給服務(wù)操作的消息契約或者數(shù)據(jù)契約.如果你的服務(wù)操作接受一個數(shù)據(jù)契約參數(shù)或者消息契約參數(shù),你事實上可以利用基于契約的驗證。譬如,如下的定單數(shù)據(jù)的數(shù)據(jù)契約有驗證邏輯那確保Currency屬性的值是預(yù)先定義的值。
- [DataContract]
- public class OrderData
- {
- [DataMember]
- public double Amount
- {
- get { return amount; }
- set { amount = value; }
- }
- [DataMember]
- [DomainValidator("USD","EUR","JPY")]
- public string Currency
- {
- get { return currency; }
- set { currency = value; }
- }
- }
現(xiàn)在,當你在一個服務(wù)契約中傳遞它的時候,你沒有必要指定基于參數(shù)的驗證,因為在傳遞數(shù)據(jù)契約的時候它從數(shù)據(jù)契約中進行驗證。
- [OperationContract]
- OrderInfo CreateOrder(OrderData orderData);
為了驗證一個業(yè)務(wù)對象,其實用屬性并不是唯一的方法。如果你需要更多的彈性,你還可以通過配置文件完成同樣的功能。以上就是對WCF服務(wù)驗證的相關(guān)介紹。
【編輯推薦】
- WCF Dispose正確應(yīng)用方式介紹
- WCF服務(wù)契約開發(fā)實踐
- WCF異常處理特點體現(xiàn)
- WCF異步調(diào)用實際應(yīng)用技巧分析
- WCF DateSet應(yīng)用技巧詳解
標題名稱:WCF服務(wù)驗證方式介紹
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/cceecsp.html


咨詢
建站咨詢
