【问题标题】:why does my silverlight reference to my wcf service blow up when I add a method to the wcf service that returns a generic list为什么当我向返回通用列表的 wcf 服务添加方法时,我对 wcf 服务的 Silverlight 引用会爆炸
【发布时间】:2010-08-17 17:13:04
【问题描述】:

我构建了一个被 Silverlight 应用程序使用的 WCF 服务。一开始我创建了一个非常简单的方法:

        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;

    }

我在我的 Silverlight 应用程序中更新了对服务的引用,并且我的 xaml cs 页面中的 using 语句引发了一个错误,例如该服务甚至不存在,尽管它存在。

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

【问题讨论】:

  • 您是否尝试通过 WCF 服务测试器运行它?您是否以某种方式更改了其中的命名空间?
  • 序列化问题往往是造成这种情况的主要原因。我最近才注意到这是因为我在我的一个泛型类型上使用DataContract[(IsReference=true) 导致了这个问题(虽然不知道为什么)。

标签: c# .net asp.net silverlight wcf


【解决方案1】:

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

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

【讨论】:

  • 您还可以查看错误列表窗口中的警告。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 2011-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
相关资源
最近更新 更多