2016-09-14 103 views
0

我一直在創建一個動態的WCF服務來更新由XMLWriter手動創建的舊服務,我想將整個解決方案帶到標準的WCF。創建動態WCF服務?

我發現ingebrigtsen.info創建一個動態服務的解決方案,但問題是舊的服務有方法返回結果作爲記錄數組,但在這個解決方案中,我必須定義一個常量類型作爲返回類型,我可以甚至不會創建靜態記錄類型,因爲有許多運行時生成的方法具有不同的屬性集。

<soap:Body> 
<getcdrResponse xmlns="http://tempuri.org/"> 
    <getcdrResult> 
    <_SID>16111250</_SID> 
    <Destination>9392191436</Destination> 
    <callTime>0</callTime> 
    <pulse>19</pulse> 
    <Duration>19</Duration> 
    <price>0</price> 
    <Name>test</Name> 
    </getcdrResult> 
    <getcdrResult> 
    ..... 

我認爲有一種方法可以在輸出中編寫檢查器,但我不知道它是否是答案。

我的問題是:在動態創建的WCF方法中將動態ResultSet作爲返回值的最佳答案是什麼?

+0

如果我理解正確,服務接口是「動態的」。也就是說,一種方法可能是暴露界面的一部分,但是可能不是。那是你在說什麼?請提供更多信息。 –

+0

實際上,該服務會加載數據庫中可用存儲過程的列表並公開服務,然後在調用服務後將調用數據庫中的相關存儲過程,然後服務必須返回從SP返回的數據集。 –

+0

服務必須有一個合約,所以你不能使用「動態」接口,你的方法應該有一個已知的回報。您可以返回像objeto或string這樣的「通用」,但讀取您的評論,因爲您想要返回數據,可能wcf數據服務可以幫助您:https://msdn.microsoft.com/pt-br/library/cc668792( v = vs.110).aspx –

回答

0

搜索了一週後,我找到了解決方案來實現我想要的。
我寫了一篇文章Create dynamic WCF service in C#這不是一個完整的答案,但它解決了我的問題。

希望你喜歡

+0

[是否只包含其他鏈接的答案真的是「好答案」?](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links -elsewhere-真的好,答案) – CodeCaster