WCF与主机和客户端的Windows服务托管

时间:2012-12-20 12:27:16

标签: c# .net wcf

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

在大多数情况下,我同意@Tommy Grovnes:如果事情正确完成,没有任何缺点。 我想指出一些事情:

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

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

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