2011-01-20 69 views
0

我有一個Silverlight Ria服務應用程序,公開4個不同的域服務。在本地機器上一切正常,但是當我部署到服務器時,出現了奇怪的錯誤。我決定導航到每項服務,以確保他們能夠正常工作。他們都用標準服務頁面進行了迴應,除了一個。這是我在瀏覽器導航到服務時遇到的錯誤:Silverlight Ria服務服務錯誤 - 但只有在生產

名爲'GetTagCount'的操作不符合所需的簽名。返回類型必須是實體,實體集合或其中一種預定義的可序列化類型。

GetTagCount未返回實體,而是自定義對象。這裏是方法:

[Invoke] 
public IEnumerable<TagCount> GetTagCount(long custodian) 
{ 
    var query = 
     from tag in this.ObjectContext.Tags 
     join docs in this.ObjectContext.TaggedDocuments.Where(d => d.CustodianId == custodian) 
     on tag.TagId equals docs.TagId 
     into tagGroup 

     orderby tagGroup.Count() descending 
     select new TagCount 
     { 
     TagId = tag.TagId, 
     TagDescription = tag.Description, 
     DocCount = tagGroup.Count(), 
     ImageId = tag.ImageId 
     }; 

    return query; 
} 

TagCount類是一個具有4個公共屬性的基本類。爲什麼會在Debug中而不是在服務器上工作。更重要的是,我需要做些什麼來解決它?

編輯:這是一個Silverlight 4.0的應用程序

感謝,

斯科特

回答

1

我發現了什麼問題了。我忘了我在我的開發機器上安裝了Ria Services SP1 Beta,它增加了對複雜類型的支持。我還沒有在生產服務器上安裝Service Pack。一旦安裝完畢,所有的工作都應該如此。

我希望這可以幫助別人......

斯科特