2011-09-29 65 views
0

我尝试使用ASP.NET WebService返回多个对象类型的ArrayList时出现问题。 假设我有一个Book对象和一个Table对象。 我将Book和Table对象添加到ArrayList。 之后,我在webservice中返回该数组列表。它不允许我这样做。 我怎样才能让它能够返回几个对象类型?ASP.NET Web Service返回不同​​对象类型的arraylist

+0

这是什么意思它不允许你?你可以显示你的Web方法签名?这个XML Web服务不是WCF吗? –

回答

0

你能不能定义一个复杂的对象(DTO在此examle),它包含其他对象,并在你返回填充DTO WEBMETHOD:

[OperationContract] 
Dto GetBooksAndTables(); 


[DataContract] 
public class Dto 
{ 
    [DataMember] 
    public Book[] Books { get; set; } 

    [DataMember] 
    public Table[] Tables { get; set; } 
} 

[DataContract] 
public class Book 
{ 
    [DataMember] 
    public string BookName {get; set; } 
    //etc... 
} 

[DataContract] 
public class Table 
{ 
    [DataMember] 
    public string TableName {get; set; } 
    //etc... 
} 

你看着http://wcf.codeplex.com/wikipage?title=WCF%20HTTP - 这使得构建.NET服务更容易。它在NuGet上。