2010-08-17 44 views
0

我已經構建了一個正在被Silverlight應用程序使用的WCF服務。起初,我創建了一個非常簡單的方法:爲什麼當我向wcf服務中添加一個方法返回一個通用列表時,我的silverlight引用了我的wcf服務炸掉

 public String SfTest() 
    { 
     return "SF Test"; 
    } 

沒有問題。我的Silverlight應用引用了我的服務,並在文本框中顯示「SF Test」。

現在我的方法添加到我的WCF服務是這樣的:

 public List<String> GetTest() 
    { 
     List<String> list = new List<string>(); 
     String a = "a"; 
     list.Add(a); 
     String b = "b"; 
     list.Add(b); 

     return list; 

    } 

我更新我的Silverlight應用程序的參考服務,並在我的XAML CS頁面using語句拋出類似服務沒有按錯誤即使存在,它也不存在。

我假設問題必須與數據類型或序列化或類似的東西,但它是驅使我在牆上。爲什麼我無法通過WCF服務在我的Silverlight應用程序中使用簡單的通用列表。

+0

您是否嘗試通過WCF服務測試人員運行它?你有沒有改變名字空間呢? – Robaticus 2010-08-17 17:21:56

+0

序列化問題往往是造成這種情況的主要原因。我最近才注意到這是因爲我正在使用'DataContract [(IsReference = true)'在我的一個泛型類型中導致了這個問題(儘管不知道爲什麼)。 – Kit 2012-01-04 13:59:51

回答

2

看看Reference.cs文件生成的添加服務引用...對話框,看看是否有相應的代理類/ etc。正在那裏生成。

我遇到過這樣的問題,其中添加服務引用...對話框由於某種原因無法創建代理服務器。不幸的是,它不會給你任何反饋,因爲它不能生成適當的類,所以爲什麼。爲了更好地排除故障,我建議退回到SLSvcUtil.exe文件(通常位於c:\Program Files\Microsoft SDKs\Silverlight\v4.0\Tools),並嘗試以這種方式生成代理。這很可能會失敗,但它至少會告訴你爲什麼它失敗了。

+0

您也可以查看錯誤列表窗口中的警告。 – Kit 2012-01-04 14:34:22

相關問題