可能在WCF服務:方法返回IList時對象可以是Person類?可能在WCF服務中:方法返回IList <object>對象可以是Person類嗎?
例如:在IServiceContract.cs
[ServiceContract]
public interface IDAS
{
[OperationContract]
void DoWork();
[OperationContract]
List<object> GetAnyClass();
}
和類:
public class DAS : IDAS
{
public void DoWork()
{
}
public List<object> GetAnyClass()
{
List<Person> a = new List<Person>();
a.Add(new Person());
return a;
}
}
在運行時的問題是:
System.ServiceModel.CommunicationException:服務器未提供有意義的回覆;這可能是由於合同不匹配,過早會話關閉或內部服務器錯誤引起的
好的。但是當: 返回null; 或 IList
問題是WCF認爲它獲取的是一個對象,實際上它獲取了一個Person,並且它不知道Person的任何內容。當你返回null時,它知道null,所以沒關係。將KnownType屬性添加到您的方法中,並在Person類中添加[DataContract]。相信我 - 這將有助於將你的方法分離出來,並且讓其他人(和你自己)閱讀你的代碼以更準確地知道你得到的是什麼。 – 2010-02-25 16:00:36