C# 在Silverlight中传递版本对象
我从VS2008创建了一个基本的Silverlight WCF服务。我对自动生成的WCF服务所做的唯一更改是添加一个方法:C# 在Silverlight中传递版本对象,c#,wcf,silverlight,C#,Wcf,Silverlight,我从VS2008创建了一个基本的Silverlight WCF服务。我对自动生成的WCF服务所做的唯一更改是添加一个方法: public int DoWork2(int x, Version version) { return x; } 如果删除了Version参数,我的Silverlight客户端工作正常,但如果添加了Version参数,则会出现错误: The remote server returned an error: NotFound. 我不知道为
public int DoWork2(int x, Version version)
{
return x;
}
如果删除了Version参数,我的Silverlight客户端工作正常,但如果添加了Version参数,则会出现错误:
The remote server returned an error: NotFound.
我不知道为什么。有什么建议吗
编辑:我应该注意,每次更改方法签名时,我都会更新我的服务引用。如果您更改了方法参数或名称,那么这意味着方法签名已经更改,在其中的某个地方,我会找到一个定义该方法签名的接口,如下所示
[OperationContract]
int DoWork2(int x)
[OperationContract]
int DoWork2(int x, Version version)
转到该方法签名并将其更改为如下所示
[OperationContract]
int DoWork2(int x)
[OperationContract]
int DoWork2(int x, Version version)
我怀疑WCF是在告诉您,它找不到承载在给定端点上的具有您提供的方法签名的方法
编辑:
在WCF中进行此更改后,请记住在Silverlight中更新服务引用,以便Silverlight能够理解新的操作契约
另外,请确保silverlight能够序列化版本对象,使用WCF诊断跟踪日志记录,并准确找出问题所在以及问题发生在哪一侧(客户端或服务器)