2011-03-31 50 views
0

我有一個場景,我必須將數組列表傳遞給WebService。webService請求類型投射問題

的WebService:

[WebMethod]  
    public void GetCommission(List<BOLibrary.Flight.DTContract> Loc) 
    { 
     CommissionManager test = new CommissionManager(); 
    } 

客戶:

List<BOLibrary.Flight.DTContract> BoList = new List<BOLibrary.Flight.DTContract>(); 
     BOLibrary.Flight.DTContract dtConboj = new BOLibrary.Flight.DTContract(); 
     dtConboj.ValidatingCarrier = "AA"; 
     DTContract[] loc1 = BoList .ToArray(); 
     service.GetCommission(loc1); 

當我試圖做到這一點我得到的是不能轉換BOLibrary.Flight.DTContractDTContract 例外。這是因爲當webservice創建proxey考慮Type(DTContract)不是namespace(BOLibrary.Flight.DTContract) ,我必須通過BOLibrary.Flight.DTContract類型的列表或陣列列表。

請幫助... 在此先感謝...

+0

'GetCommission'需要一個'名單',你爲什麼轉換'.ToArray'? – 2011-03-31 13:47:16

+0

我不認爲你通過ArrayList – kd7 2011-03-31 13:48:18

回答

-1

用途:GetCommission(DTContract[] Loc)

你試試拳擊呢?

//Server 
public void GetCommission(object oLoc) //or GetCommission(DTContract[] Loc) 
{ 
List<BOLibrary.Flight.DTContract> Loc = oLoc as List<BOLibrary.Flight.DTContract>(); 

... 
} 

//Client 
service.GetCommission(loc1 as object); 
+0

它不工作.. – Shivi 2011-03-31 14:48:24

+0

什麼是*不工作*?什麼是錯誤/描述? – 2011-04-01 10:54:57