3
我正在尝试创建WCF流服务。我有两个要求,我似乎被绊倒试图得到这个工作:流大小的返回流长度并包含输入参数的WCF流服务
- 长度
- 输入参数
我的消息,合同是这样的:
[MessageContract]
public class MyStream
{
[MessageHeader]
public long StreamSize;
[MessageBodyMember]
public Stream StreamData;
}
我的操作合约看起来像这样:
[ServiceContract]
public interface IStreamService
{
[OperationContract]
MyStream GetData(string data);
}
尝试使用Web服务时收到错误消息是这样的:
操作“的GetData”无法加载 因为它有一个参数或 型System.ServiceModel的 返回类型。 Channels.Message 或具有 MessageContractAttribute和其他 不同类型的参数。当使用 System.ServiceModel.Channels.Message 或类型与 MessageContractAttribute ,该方法 不能使用任何其他类型的 参数。
从我的this post理解,我需要使用一个消息合同让我流的长度,但是当我从数据合同的消息合约切换我不再允许输入参数来传递。
我错过了配置更改吗?还是别的我可以试试?谢谢!
哇 - 多么简单!非常感谢。 – 2010-08-12 13:48:48
问题是,如果您使用消息联系人进行响应,您还必须将其用于请求,反之亦然。 – 2010-08-12 13:55:31