2012-12-20 104 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自我跟蹤實體之類的機制,則這是特別真實的。這些實體在反序列化時會改變它們的狀態。當您真正從另一個進程調用您的服務時,避免序列化可能會導致意外錯誤。

相關問題