是否有人使用WCF進行動態編程?通過動態編程我的意思是運行時消耗WSDL的。 我發現一個博客條目/工具: http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx使用WCF進行動態編程
有沒有人在這裏找到很好的工具呢?
是否有人使用WCF進行動態編程?通過動態編程我的意思是運行時消耗WSDL的。 我發現一個博客條目/工具: http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx使用WCF進行動態編程
有沒有人在這裏找到很好的工具呢?
這是WCF的一個更偉大的方面。你可以動態創建一個channelfactory,但只能使用已知的類型。
我想出了一個解決方案,它並不完美,但沒有工作:
創建一個接口,「IFoo的」,其中包含了一個方法,說Execute()
。在您的ESB中,爲要連接的端點動態創建ChannelFactory<IFoo>
。設置連接屬性(URI等)。
現在,您可以動態地將服務附加到ESB,前提是它們始終實施「IFoo」接口。
我很早以前就用SOAP Web服務完成了這個工作。 GotDotNet上有一個工具,我認爲它已成爲Web Services Studio Express,它具有檢查/解析WSDL文件並允許您調用它的代碼。
我認爲這個假設是WSDL在客戶端創建時已知,並且您不需要在運行時連接起來。如果您在運行時檢查WSDL,則仍然需要某種邏輯來決定如何生成代理。爲什麼你不能在運行時使用WSDL? Web服務應該是相當靜態的,一旦發佈就不會改變。
您可以使用.NET CodeDom生成代碼來執行和使用WSDL描述的Web服務。 WSDL可以使用標準的.NET XML類進行分析。
我實際上正在考慮製作一個小ESB,其中用戶可以在運行時添加一個web服務來路由到。 所以我無法靜態添加WSDL
Becouse Web服務正在用於與第三方數據饋送進行交互,客戶希望能夠在無需等待下一版本軟件的情況下進行設置。例如,Excel可以在沒有Microsoft的情況下從Web服務導入數據,而他們在編寫Excel時就會知道WSDL! – 2010-03-11 09:13:07