2009-04-24 35 views
1

我正在构建一个应用程序,它将在服务器场上分配其处理。在我的基本设计中,我有两项服务:WCF适用于所有情况?

一个监视新工作,排队并管理结果的“控制器”。

绑定到特定控制器的“worker”。工作人员将检查其控制器的工作,并将结果推回。

在我在WCF看到的breif外观中,它似乎暗示了MEST风格的消息传递SOA。这种机制似乎没有与我将要做的沟通类型进行协调。

我混淆了WCF是什么? .NET Remoting在这个世界还有一席之地吗?或者我是否在侏罗纪,WCF之前的思维方式中思考这个问题。

编辑:
遗漏了一些细节。蹭的是我需要计时工作。如果工作项目检查时间过长,我应该能够对整个事情进行错误处理。我所看到的所有例子似乎都对即将离任的消息采取“发送和忘记”的态度。我需要在合理的时间范围内确定性的结果或错误。希望澄清。

回答

3

我不建议大多数情况下的远程处理;它是不可移植的,有时会有点痛苦,并且BinaryFormatter很脆(版本不能容忍)。

对于大多数情况来说,WCF非常合适;如果你正在农场工作,你可能会想要在没有会话等情况下运行,但无论如何我都会这样做(为了性能) - 只需使用http基本配置文件即可。

我不完全理解你描述的场景。当然,你总是可以使用xml/json/binary来编译自己的RPC,或者使用任何其他预先封装的通信栈或中间件,如MSMQ或BizTalk。


重新编辑; WCF可以同步使用(阻止响应,(我相信)可配置的超时)。您可以使用分布式事务等来完成更复杂的事情(回滚等),但它会快速增加复杂性。您需要权衡下降死亡时间的重要性等。

如果时间范围比您希望等待调用的时间更长,您还可以考虑诸如工作流程之类的事情 - 有一系列工作流产品,除了WF。

相关问题