2012-12-20 73 views
0

我有一个WCF与Windows服务托管的背景数据库操作。我已经将客户端部分也包含在同一个Windows服务中,而不是为客户端部分创建单独的Windows服务。 我想知道这种方法有什么缺点。WCF与主机和客户端的Windows服务托管

+1

为什么如果在内部调用tey时提供WCF服务:为什么不直接调用业务方法?您的WCF操作是否也从外部进程调用? – Kek

+0

@Kek,那是要求。它不是从外部过程调用的。 – Wilz

+0

好吧...所以你问的缺点与没有WCF的解决方案相比? – Kek

回答

2

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

1

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

如果服务和客户端在相同的过程中,当然后者取决于前者......并且您可能会试图直接调用服务方法(不使用WCF实际上)...尽量不要这样做。

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

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

相关问题