例如,我有兩個託管在IIS中的服務。兩個具有不同合同但業務對象相同的WCF服務
[ServiceContract]
public interface IDeviceService
{
[OperationContract]
DeviceCollection GetAllDevices(Customer customer);
}
[ServiceContract]
public interface IUserService
{
[OperationContract]
User Authenticate(string username, string password);
}
無論是從UserService的身份驗證操作返回與用戶對象是從DeviceService的GetAllDevices操作返回的DeviceCollection有客戶的子對象的定義。 Customer是業務對象與User和Device對象位於同一個程序集中。
我的問題是在客戶端上 - 當我打電話的設備操作
userProxy.GetAllDevices(user.Customer);
編譯器與以下消息抱怨:
參數1 - 無法從UserService.Customer轉換爲DeviceService.Customer
我可以連接到這兩個服務罰款,這是客戶的對象定義是這個問題。我並不想將這些運營部門放在與他們自己的服務自然生活相同的服務中。我想我問的是如何讓其他程序員處理這樣的問題?
乾杯, 斯圖爾特
此外,添加服務引用時,您想使用「高級」選項卡指定應共享哪些類型。 – 2009-06-23 15:37:27
Hiya,兩種服務相結合的問題是他們最終會變得龐大。我在Jual Lowrys的書中讀到過,你應該努力不要再讓這12個服務合同成員? – Simian 2009-06-23 16:03:38
@Stuart - 我不會僅僅因爲這個原因而推薦合併服務。我相信你的服務是有目的地分開的,所以把他們聚集在一起並不總是合情合理的。我只是想確保你知道每一個選項。 – 2009-06-23 16:09:36