2010-04-13 73 views
0

我的Web服務和我的服務器都需要類。 例如,我有一個名爲Order的類,我想從我的服務器發送到Web服務,反之亦然。在服務器和Web服務中使用相同的類

問題是服務器中的類是Order,而Web服務上的類是localhost.Order,即使它們是用完全相同的代碼構建的,也不可能在它們之間進行轉換。錯誤是cannot convert from 'Order[]' to 'localhost.Order[]'

我該怎麼辦?非常感謝你。

回答

3

當您添加對Web服務的引用時,您可以指定要重用的類。默認情況下它會根據Web服務生成的WDSL生成類。

+0

如何在VS2008上指定這些內容? – iTayb 2010-04-13 13:30:31

1

你也許應該看看WCF服務:

http://msdn.microsoft.com/en-us/library/bb332338.aspx

我已經使用了這些在幾個項目中都必須共享庫引用,和一個網站會要求其中之一對象通過另一個站點的WCF服務調用。它非常乾淨,並且爲運輸/安全打開了其他可能非常有用的選項。

+0

謝謝,但我必須堅持使用ASMX。這是一個學校項目。 – iTayb 2010-04-13 13:42:51

0

的問題似乎表明,你正在使用ASMX Web服務。如果是這樣,那麼你的工作就是爲你而做的。

Jelle Druyts wrote an extension對於ASMX來說,它可以或多或少地做你正在問的問題。您必須在計算機級別配置共享類型(machine.config)。這並不漂亮。

還有一個fix for that extension使它與空類型的工作。

好運氣得到這個與Visual Studio 2008或在Vista/Windows 7的工作,你會沒事的,如果你仍與2005年VS

運行XP如果可以的話,你真的應該考慮使用WCF代替客戶端代理,因爲WCF使它very easy共享類型。實際上,Visual Studio 2008集成默認是這樣做的;您只需確保您的客戶端項目引用包含服務類型的程序集。

相關問題