我試圖更好地理解WCF的調度過程,特別是對各種擴展點的影響和影響。從底部列出的網頁看來,一旦通過通道堆棧將消息傳遞給調度器,WCF將按照所述順序執行以下操作。什麼是WCF調度管道消息流
- 消息檢查
- 操作選擇
- 消息格式化
- 參數檢查
- 操作調用程序。
我試圖找到一些選項來解決我有一個問題,我想的一個方法是使用消息檢查器,操作選擇器,消息格式和操作調用者的組合。不幸的是,我的觀察似乎表明執行的順序是代替如下:
- 工作選擇
- 消息檢查
- 操作祈求(AllocateInputs())
- 消息格式化
- 參數檢查器
- Opera和灰調用器(調用())
我可以理解的微小差異,其中一個自定義調用AllocateInputs()方法被格式化消息作爲消息格式化部之前調用基本上deserialising給定的消息爲一組的方法的參數傳遞給適當的操作,調用者的AllocateInputs()方法指定需要多少個參數。
引發我的部分是Message Inspector和Operation Selector之間的序列反轉。對我來說,消息檢查器首先在消息上執行操作時聽起來合乎邏輯,而操作選擇器則確定消息針對哪個服務操作。
問題:
- 是,由於WCF的不同版本或釋放?
- 這是因爲WCF實際上沒有指定擴展點執行順序嗎?
參考頁:
Extending WCF to support custom data formats - 佐勒菲卡爾的博客
Extending WCF with Custom Behaviours - MSDN服務站2007年12月
Message Flow Interception Points - 尼古拉斯·艾倫的Indigo博客
注:我不提供鏈接的道歉,可以」因爲我還是個小菜鳥,所以我不止一個。=)
在那裏,我投票了你的故事。您現在可以發佈多個鏈接,因爲您將擁有11個代表...也許:P –
我爲您添加了鏈接,@hg。 – bobbymcr
啊......我不知道這是與代表。非常感謝@Crowe。 感謝@bobbymcr也提供了鏈接。 希望得到一些答案是否太多了? =) –