WCF适合所有情况?

时间:2009-04-24 20:18:36

标签: .net wcf architecture remoting

我正在构建一个应用程序,用于在服务器场上分发其处理。在我的基本设计中,我有两项服务:

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

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

在我看到的WCF中,它看起来似乎意味着MEST风格的消息传递SOA。这种机制似乎与通信类型无关。协调我会做的。

我对WCF是什么感到困惑?这个世界上还有一个用于.NET远程处理的地方吗?或者我正在考虑侏儒,WCF前思维模式中的问题。

编辑:
遗漏了一些细节。问题是我需要时间表工作。如果一个工作项被签出太长时间,我应该能够错误地解决整个问题。我见过的例子似乎都对传出的消息采取了“发送和忘记”的立场。我需要在合理的时间范围内确定性结果或错误。希望澄清。

1 个答案:

答案 0 :(得分:3)

我不建议在大多数情况下进行远程处理;它是不可移植的,有时候管理有点痛苦,BinaryFormatter很脆弱(版本不容忍)。

WCF非常适合大多数情况;如果你在一个农场工作,你可能想要没有会话等运行,但我仍然这样做(性能) - 只使用http基本配置文件。

我不完全了解您所描述的情景。当然,您始终可以使用xml / json / binary滚动自己的RPC - 或者使用任何其他预先发布的通信堆栈......或者像MSMQ或BizTalk这样的中间件。


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

如果时间段长于您想要等待调用的时间,您还可以考虑工作流程等问题 - 除了WF之外,还有一系列工作流程产品。