0

我有一个带有 Windows 服务托管的 WCF,用于后台数据库操作。我已经将客户端部分也包含在带有计时器的同一个 Windows 服务中,而不是为客户端部分创建单独的 Windows 服务。我想知道这种方法有什么缺点。

4

2 回答 2

2

必须同意@Kek 如果没有外部调用者,为什么还要有 WCF 服务:) 除了与使用 2 个 Windows 服务相比没有真正的缺点之外,您的方法使用更少的内存并且只有一个服务需要管理(开始,停止等)。

于 2012-12-20T14:36:22.670 回答
1

在大多数情况下,我同意@Tommy Grovnes:如果事情做得正确,没有缺点。不过我想指出一点:

如果服务和客户端在同一个进程中,当然后者依赖于前者……你可能会想直接调用服务方法(实际上不使用WCF)……尽量不要那样做。

如果这样做,您的数据不会被序列化:因此它更快,但与另一个进程中的客户端相比,它的行为方式可能不完全相同。

如果您使用诸如 EF 自我跟踪实体之类的机制,则尤其如此。这些实体在反序列化时会更改其状态。当您实际从另一个进程调用您的服务时,避免序列化可能会导致意外错误。

于 2012-12-21T07:26:37.613 回答