我定义了一些在我的客户端功能返回,作为一个例子问题有什么功能,我WFC服务和客户端
[OperationContract]
List<CustomObject> GetObject(string id);
当尝试,如果我试图从我的接口调用这个函数:
List<CustomObject> result = cvs.GetObject(5);
我得到一个错误,而不是我所必须做的是CustomObject[] result = cvs.GetObject(5);
另外一个例子是,当我定义了一个消息:
[MessageContract]
public class TestRequest
{
[MessageBodyMember]
public Int64 Id;
[MessageBodyMember]
public int row;
}
和我的接口功能:
[OperationContract]
ResponseMessage GetMessage(TestRequest req);
当我尝试使用这么多相同的方式:
TestRequest req = new TestRequest();
req.Id = 2;
req.row = 1;
ResponseMessage resp = cvs.GetMessage(req);
我得到的消息there is no overload for method that takes one argument
。
下面是创建的参考文件中的相关部分由
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
ResponseMessage MyService.GetMessage(TestRequest request)
{
return base.Channel.GetMessage(request);
}
public string GetMessage(long Id, int row, out long Length, out string Message, out System.IO.MemoryStream ReportMemoryStream)
{
TestRequest inValue = new ResponseMessage();
inValue.Id = Id;
inValue.row= row;
ResponseMessage retVal = ((MyService)(this)).GetMessage(inValue);
Length = retVal.Length;
Message = retVal.Message;
ReportMemoryStream = retVal.ReportMemoryStream;
return retVal.FileName;
}
为什么之间的客户端和服务WFC发生这种脱节的,我怎么能解决这个问题。
这解决了列表中的问题,但不解决我的自定义消息的问题。 – dearn44
你使用MessageContract而不是DataContract的原因是什么?同样出于兴趣,如果您使用的是Visual Studio,那么IDE期望的方法定义是什么? –
实际上并不知道,我只是想使用MessageContract一次,因为我试图尽可能多地学习秘密。) 也更新了这个问题,我相信它会回答你的其他问题。 – dearn44