2010-11-02 140 views
0

我已經創建了一個返回複雜對象圖的WCF服務,圖中有不少對象,但不會過多(小於30)。WCF對象圖不返回

當測試我的本地系統服務工作正常,這是IIS7。然後,我們將該服務上傳到我們的測試服務器,這是IIS 6,該服務不再有效。

檢查服務器日誌,我們可以看到我們的服務方法正確執行並返回正確的對象圖。但是,WCF不會將此結果傳回給調用客戶端。

有誰知道可能是什麼原因造成的?

似乎主對象上的枚舉之一導致整個響應不被返回。這個枚舉是一個具有3個字符串屬性和1個guid的對象。其他枚舉返回確定,我不知道爲什麼這一個。這是定義:

[DataContract] 
public class OtherFields { 

    [DataMember] 
    public string Caption 
    { 
     get; 
     set; 
    } 

    [DataMember]   
    public string Help { get; set; } 
    [DataMember] 
    public Guid Id { get; set; } 
    [DataMember] 
    public string AdditionalInfo { get; set; } 
} 
+0

客戶端上是否引發了一些異常? – 2010-11-02 10:29:47

+0

不會引發任何異常 – 2010-11-02 10:38:38

+0

您正在使用的一些綁定,傳輸,aspNetCompatibility ......將會很有用。還解釋你圖表的含義。 – Aliostad 2010-11-02 10:41:32

回答

1

好的問題是,父對象使用泛型enumerable來保存OtherFields對象的列表。將此更改爲數組已解決問題

+0

很好,問題已解決。我希望我們知道它爲什麼在你的環境中工作,但不在部署中。 – 2010-11-03 06:06:50

+0

我不確定環境中的差異是什麼,我的開發系統上有.Net 4.0,但服務器上只有3.5。我想知道這是否有所作爲。 – 2010-11-04 15:02:07