C# 当我向wcf服务添加一个返回通用列表的方法时,为什么我对wcf服务的silverlight引用会爆炸
我已经构建了一个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
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)
导致了这个问题(尽管不知道为什么)。您也可以在错误列表窗口中查看警告。