Freigeben über


WCF vs IUnknown ?

最近在整理 過去的 Bookmatk 與腦袋... 想到了一些問題 也想到了 EntLib 主題, 猛然才想到 一篇文章

有點久了..但是 我還是想 談幾件事情

我想先介紹一下Eric Hu 與 Eric 是早期我在 Forum 上遇到的高手.. 後來才發現他是隱居在 台灣微軟 RD 團隊

過去論壇上 他也很熱心的幫助了不少的人.. 只是 我發現 身為台灣的高手,很多人都是很低調的...

我想談到的是 在 TechEd 會場,有個 朋友 問到 WCF 是否可以達到過去 COM 願景中的 IUnknow 概念

也就是 Client 端 根本不需要先知道 Contract.. 在 RunTime 再來決定 動態 Contract 為何,動態 找到 Contract..

然後 類似 IQueryInterface.. 方式 late bind contract..因為他想把所有 Contract 放到 DB 中 當作 Metadata...

我的回覆很快.. 就是一個 Yes..  目前在 SDK 文件中 你其實就找的到一個項目

Dynamic Bindings

You can dynamically update the binding that you use to create a channel to a service endpoint in the event that the binding for the endpoint changes or you want to create a channel to an endpoint that uses the same contract but has a different binding. You can use the System.ServiceModel.Description.MetadataResolver static class to retrieve and import metadata at runtime for service endpoints that implement a specific contract. You can then use the imported ServiceEndpoint objects to create a client or channel factory to the desired endpoint.

(當你真的 下載 SDK 以後,請別 K 我,我知道還有很多細節 目前 SDK 文件說明沒有完整)

只是 我腦袋又聯想了一堆.. 最後一個 想法還是跑了出來 "AOP" 的概念.

目前 .NET 2.0 平台上 最棒的莫過於 Enterprise Library 上的 Object Builder 架構...

這也是我突然想到 Eric Hu 過去的一個 Entry Link...

Link to Eric Hu's Weblog : Dependency Injection on .Net: Object Builder

我猜想 Eric 應該有很多想法,只是目前他的 Blog 沒有把 心得 和大家分享...

Enterprise Library and Object Builder

但怎麼把這兩者整合起來., 我還真的沒有好的 hands on 範例...

議題有點大... 也很精采... 也許 未來的 Enterprise Library Object Builder 2.0 應該要考慮考慮... ha