【问题标题】:Passing a Version object in Silverlight在 Silverlight 中传递 Version 对象
【发布时间】:2009-12-14 18:44:26
【问题描述】:

我从 VS2008 创建了一个基本的 Silverlight WCF 服务。我从自动生成的 WCF 服务中唯一改变的是添加一个方法:

 public int DoWork2(int x, Version version)
    {
        return x;
    }

如果我删除 Version 参数,我的 Silverlight 客户端可以正常工作,但如果添加 Version 参数,我会收到错误:

The remote server returned an error: NotFound.

我不知道为什么。有什么指点吗?

编辑:我应该注意,每次我更改方法签名时,我都会更新我的服务参考。

【问题讨论】:

    标签: c# wcf silverlight


    【解决方案1】:

    如果你改变了方法的参数或名称,那么这意味着方法签名已经改变,在那里的某个地方你会找到一个定义该方法签名的接口,看起来像这样

    [OperationContract]    
    int DoWork2(int x)
    

    转到该方法签名并将其更改为如下所示

    [OperationContract]    
    int DoWork2(int x, Version version)
    

    我怀疑 WCF 告诉您它无法使用您提供的方法签名找到托管在给定端点上的方法

    编辑: 请记住在 WCF 中进行此更改后更新 Silverlight 中的服务引用,以便 silverlight 可以理解新的操作合同

    还要确保 silverlight 能够序列化 Version 对象,使用 WCF 诊断跟踪日志记录,并准确找出问题所在以及问题发生在哪一侧(客户端或服务器)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2011-05-31
      • 1970-01-01
      相关资源
      最近更新 更多