為了增強
webserive
的功能,對
soap
進行擴充套件是非常必要的。如對
soap
訊息進行加密,解密等操作。使得開發人員可以靈活的對
soap
訊息進行定製處理。
那為了對soap進行擴充套件,我們需要了解什麼?
1:理解web服務的生命週期
2:確認soap擴充套件的的時間段
3:需要重新幾個方法
4:如何對soap訊息進行配置
對於理解web服務的生命週期
可以這樣簡單的理解:
對於soap擴充套件的的時間段
可以是在序列化之前和之後來修改soap訊息以達到擴充套件的目的。比如我們可以實現這樣的擴充套件:加密soap擴充套件在asp。net序列化客戶端的引數之後加密soap訊息,而在asp。net反序列化soap訊息之前在web伺服器上解密soap訊息。對於時間段的選擇可以通過乙個列舉物件來控制:soapmessagestage(afterdeserialize,afterserialize,beforedeserialize,beforeserialize)根據具體情況可以任意選擇在什麼階段進行擴充套件操作。
ps:soap擴充套件必須是客戶端和伺服器端同時進行修改。不能出現如我在客戶端對soap訊息進行加密,在服務端卻不解密。這樣是不行的。
擴充套件soap的整個實現過程概述
a:從soapextension派生乙個類出來,這個是擴充套件的第一步;
b:重寫基類的幾個方法。有的是必須重寫的(如chinstream,這個是接受對流的 引用的唯一機會,而流可以用來獲得將來soap訊息的內容)
c:選在擴充套件階段,就是時間段
d:對soap進行配置
對上面幾項的補充說明:
重寫的幾個方法分別是:其使用方法見msdn:
chinstream,getinitializer,initialize,processmessage
對soap擴充套件進行配置的兩種方式是:配置檔案,自定義特性
產品環境中使用配置檔案的方式交多點。
如何進行技術選型
在重大產品決策或者大規模應用開發前一般需要進行技術選型,特別是需要開發乙個之前沒有了解過的系統或者應用時,其目的是為了降低產品研發的技術風險。所以首先需要明確為什麼需要技術選型 需要達到什麼目的,整個過程需要有一套的組織流程來保證。一般可以將整個過程分為調研 候選對比 關鍵技術驗證 原型驗證幾個階段...
如何進行團隊技術分享
最近一段時間一直在思考如何將技術分享和內部培訓利用起來,幫忙團隊小夥伴們盡快提公升工作中需要的技術。突然想到其實一次精心準備的技術分享,也算是乙個小小的專案了。作為乙個專案,當然也要經過啟動 計畫 執行 監控和收尾的過程,只不過在這五大過程組之中,根據實際需要具體過程會有所刪減。想要中獎,至少要先買...
如何進行架構技術方案選型
在架構設計時,通常面臨的乙個難題是,如何選擇架構的技術方案.這也是各種專案都會碰到的問題.我們到底是選擇c s,b s模式,如果選擇c s,那麼到底是三層c s還是兩層,到底要不要分布式,b s的展示層是自己寫mvc,還是應用已有的開源的如spring mvc,struts 2.0,jsf技術。總之...