生成的代理类改变我知道标题是有点混乱,所以这里是交代:引用类型是从WCF
我想流与WCF大文件,并且我种知道该怎么办它。
当我写了一个方法,说:
[OperationContract]
void sendStream(System.IO.Stream _StreamSource);
在那里,生成的代理类的内心我的客户端应用将正确有System.IO.Stream类型作为输入参数。
但如果我创建另一个类:
[MessageContract]
[KnownType(typeof(Stream))]
public class MyData
{
[MessageHeader(MustUnderstand = true)]
public string Key { get; set; }
[MessageBodyMember(Order = 1)]
public Stream Data { get; set; }
}
而且具有服务接口:
[OperationContract]
void sendStream(MyData _StreamSource);
从迈德特在我的客户端类的流类型将根据服务引用命名空间。
即:MyServiceRef.Stream
这让我无法流传递给WCF。
但是,这不会发生字符串和整型的东西。
我不知道为什么,我throught流类型是已知的类型如String和int?
或者是否有任何解决方法?
在此先感谢!
我确实尝试了,但它不起作用,这就是为什么我添加了KnownType来尝试我的运气 –