2009-04-24 66 views
1

我正在構建一個應用程序,它將在服務器場上分配其處理。在我的基本設計中,我有兩項服務:WCF適用於所有情況?

一個監視新工作,排隊並管理結果的「控制器」。

綁定到特定控制器的「worker」。工作人員將檢查其控制器的工作,並將結果推回。

在我在WCF看到的breif外觀中,它似乎暗示了MEST風格的消息傳遞SOA。這種機制似乎沒有與我將要做的溝通類型進行協調。

我混淆了WCF是什麼? .NET Remoting在這個世界還有一席之地嗎?或者我是否在侏羅紀,WCF之前的思維方式中思考這個問題。

編輯:
遺漏了一些細節。蹭的是我需要計時工作。如果工作項目檢查時間過長,我應該能夠對整個事情進行錯誤處理。我所看到的所有例子似乎都對即將離任的消息採取「發送和忘記」的態度。我需要在合理的時間範圍內確定性的結果或錯誤。希望澄清。

回答

3

我不建議大多數情況下的遠程處理;它是不可移植的,有時會有點痛苦,並且BinaryFormatter很脆(版本不能容忍)。

對於大多數情況來說,WCF非常合適;如果你正在農場工作,你可能會想要在沒有會話等情況下運行,但無論如何我都會這樣做(爲了性能) - 只需使用http基本配置文件即可。

我不完全理解你描述的場景。當然,你總是可以使用xml/json/binary來編譯自己的RPC,或者使用任何其他預先封裝的通信棧或中間件,如MSMQ或BizTalk。


重新編輯; WCF可以同步使用(阻止響應,(我相信)可配置的超時)。您可以使用分佈式事務等來完成更復雜的事情(回滾等),但它會快速增加複雜性。您需要權衡下降死亡時間的重要性等。

如果時間範圍比您希望等待調用的時間更長,您還可以考慮諸如工作流程之類的事情 - 有一系列工作流產品,除了WF。

相關問題