Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MessageContract时,WCF客户端语法与服务语法不同_C#_Visual Studio 2010_Wcf - Fatal编程技术网

C# 使用MessageContract时,WCF客户端语法与服务语法不同

C# 使用MessageContract时,WCF客户端语法与服务语法不同,c#,visual-studio-2010,wcf,C#,Visual Studio 2010,Wcf,我有一个使用MessageContract 客户端的语法发生了变化。我不知道为什么。我使用的是VisualStudio2010,目标框架是4.0 这是我的合同: [MessageContract] public class DownloadRequest { [MessageBodyMember] public string FileName; } [MessageContract] public class RemoteFileInfo : IDisposable {

我有一个使用
MessageContract

客户端的语法发生了变化。我不知道为什么。我使用的是VisualStudio2010,目标框架是4.0

这是我的合同:

[MessageContract]
public class DownloadRequest
{
    [MessageBodyMember]
    public string FileName;
}

[MessageContract]
   public class RemoteFileInfo : IDisposable
{
    [MessageHeader(MustUnderstand = true)]
    public string FileName;

    [MessageHeader(MustUnderstand = true)]
    public long Length;

    [MessageBodyMember(Order = 1)]
    public System.IO.Stream FileByteStream;

    public void Dispose()
    {
        if (FileByteStream != null)
        {
            FileByteStream.Close();
            FileByteStream = null;
        }
    }
}
我的服务合同如下:

[OperationContract]
        RemoteFileInfo DownloadFile(DownloadRequest request);

       
具体实施如下:

public RemoteFileInfo DownloadFile(DownloadRequest request)
{
    RemoteFileInfo result = new RemoteFileInfo();
      .........
      ....
    return result;

}
我发现了以下错误

有什么想法吗

编辑:
我在错误消息中使用了流式传输的基本http绑定,您似乎需要再次刷新服务引用。
在visual studio中,单击菜单项目->选择“添加服务引用…”。

是否已更新客户端的服务引用?每次更改服务中的代码时,都必须更新客户端上的服务引用!当然了。但不知何故,我的方法调用并没有在语法中显示对象(消息契约)。尝试两侧编译,关闭IDE,然后重新打开IDE。如果我没记错的话,这似乎解决了问题。就像IDE在关闭和重新打开之前无法识别更改一样。“这是瞎猜。”布莱恩,谢谢。但是当我切换到DataContract而不是MessageContract时,我的代码运行良好。从上两天起我就一直在搞这个。