我還是新來的ASP.NET世界,所以我可以離開這裏基地,但到目前爲止,這是我的(有限)知識!ASP.NET Web服務結果,代理類和類型轉換
可以說我在業務名稱空間中有一個標準業務對象「Contact」。我編寫了一個Web服務來從數據庫中檢索聯繫人信息,並將其返回。然後,我寫一個客戶端應用程序來請求所述細節。
現在,我還創建了一個實用的方法,它需要一個「聯繫人」,並與它做一些魔術,如Utils.BuyContactNewHat()
說。當然需要Business.Contact
類型的聯繫人。
然後我回到我的客戶端應用程序,並且想要使用BuyContactNewHat
方法,因此我添加了對我的Utils命名空間的引用,它就在那裏。然而,一個問題出現了:
Contact c = MyWebService.GetContact("Rob);
Utils.BuyContactNewHat(c); // << Error Here
由於GetContact
返回類型是MyWebService.Contact
而不是Business.Contact
預期。我明白爲什麼會這樣,因爲在訪問Web服務時,實際上是針對由WSDL生成的代理類進行編程。
那麼,有沒有一種「更容易」的方法來處理這種類型的不匹配?我正在考慮嘗試創建一個通用轉換器類,它使用反射來確保兩個對象具有相同的結構,而不僅僅是將值從一個轉移到另一個。