C# 当我向wcf服务添加一个返回通用列表的方法时,为什么我对wcf服务的silverlight引用会爆炸

C# 当我向wcf服务添加一个返回通用列表的方法时,为什么我对wcf服务的silverlight引用会爆炸,c#,.net,asp.net,silverlight,wcf,C#,.net,Asp.net,Silverlight,Wcf,我已经构建了一个WCF服务,该服务正被Silverlight应用程序使用。起初,我创建了一个非常简单的方法: public String SfTest() { return "SF Test"; } 没问题。我的silverlight应用程序引用我的服务,并在文本框中显示“SF测试” 现在,我向我的wcf服务添加了如下方法: public List<String> GetTest() { Lis

我已经构建了一个WCF服务,该服务正被Silverlight应用程序使用。起初,我创建了一个非常简单的方法:

        public String SfTest()
    {
        return "SF Test";
    }
没问题。我的silverlight应用程序引用我的服务,并在文本框中显示“SF测试”

现在,我向我的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;

    }
公共列表GetTest()
{
列表=新列表();
字符串a=“a”;
列表.添加(a);
字符串b=“b”;
列表.添加(b);
退货清单;
}
我在Silverlight应用程序中更新了对该服务的引用,并且我的xaml cs页面中的using语句抛出了一个错误,好像该服务甚至不存在,尽管它存在


我假设这个问题与数据类型、序列化或类似的东西有关,但这让我非常恼火。为什么我不能通过WCF服务在我的Silverlight应用程序中使用一个简单的通用列表。

查看由添加服务引用生成的
Reference.cs
文件。。。对话框,并查看是否正在那里生成相应的代理类/等


我以前遇到过这样的问题,添加服务引用。。。由于某种原因,对话框无法创建代理。不幸的是,它没有给你任何关于为什么它不能生成合适的类的反馈。为了更好地进行故障排除,我建议返回到
slsvcuti.exe
文件(通常位于
c:\Program Files\Microsoft SDK\Silverlight\v4.0\Tools
中),并尝试以这种方式生成代理。它很可能会失败,但它至少会告诉您失败的原因。

您是否尝试通过WCF service tester运行它?您是否在其中更改了名称空间?序列化问题往往是造成这种情况的主要原因。我最近注意到这是因为我在我的一个泛型类型上使用了
DataContract[(IsReference=true)
导致了这个问题(尽管不知道为什么)。您也可以在错误列表窗口中查看警告。