2011-09-20 28 views
16

我有機會花費大量的時間嘗試在單聲道中使用WCF。對於玩具應用以外的任何東西,在這個階段實施這個方法實在太簡單了。它無法承受24/7的負載。RPC在Mono的選項? (WCF替代品)

我目前在生產環境中運行Mono時有WCF,但至少在短期內我需要離開它,才能爲我的軟件帶來穩定性。目前我每隔幾個小時就要重新啓動一次流程,而這往往是不夠的。

我正在尋找潛在的替代品。我所有的通信實體都是基於.net的,其中一些是Linux上的Mono,另一些是Windows Server上的ms.net。我非常想嘗試將protobuf-net作爲序列化層自己的RPC層,但我不想這樣做。 protobuf-net的最大優點是它具有良好的C++支持,這是我所看重的。

有沒有人在那裏取得了穩定與RPC單聲道?如果是這樣,你做了什麼?

更新:我沒有提到我在尋找有狀態的雙工消息。這是一個相當重要的信息。我沒有被卡住,但我非常想要它。 WCF提供了net-tcp雙工通道。

+0

這是一個很好的問題,我真的希望能看到一些像樣的答案。我也遇到與單聲道相同的問題。就目前來看,mono在生產環境中不值得信任。 –

回答

8

嘗試ServiceStack爲REST/WS

現代,代碼優先,DTO驅動,WCF更換Web服務 框架鼓勵最佳實踐創建DRY, 高性能比較,可擴展的REST Web服務

如果你正在尋找雙工和基於tcp的東西,你可能會考慮zeroMQ,雖然它的問題集與WCF稍有不同。

+0

+1這看起來像是RESTful Web服務的一個很好的選擇,也是一個WCF功能的替代品。我會在一些地方找到這個用法,但是(除非我錯過了某些東西),你不能實現有狀態的雙工服務。我更新了我的問題以突出顯示這些細節。 –

+0

@John Hargrove:如果你對雙工tcp感興趣,你可能也會對zeroMQ感興趣(更新我的答案)。 – Brook

+0

high-perfo * mance ...: -/ – Danra

1

RestSharp經常在Mono的IRC頻道(例如GimpNET上的#mono)中被提及,並且可以與Mono,MonoTouch,Silverlight,Windows Phone 7以及當然還有常規FX一起使用。

+0

我會研究這種可能性。我的感受與我在Brook的回答中提到的一樣:ServiceStack。它取代了WCF的一個方面,但是有很多WCF需要替換,並且我有一些REST服務不會削減它的地方。 –