Issue with WCF + NetTcpBinding + MessageContract + MemoryStream
Hello Everybody,
Im facing a strange problem with one of my WCF service. It uses TCP/IP binding. Return value and parameter
are MessageContracts.
Parameter :
[
MessageContract]publicclassMsgContract1{
Stream data;[
MessageBodyMember]publicStream Data{
get {return data;}set { data =value;}}
}
Return Value :[
MessageContract]publicclassMsgContractReturn{
string result =string.Empty ;[
MessageHeader]publicstring Result{
get {return result; }set { result =value; }}
}
Service :publicMsgContractReturn MyOperation3(MsgContract1 dataContractValue)
{
MsgContractReturn msgret =newMsgContractReturn();
try
{
long t = dataContractValue.Data.Length;byte[] data =newbyte[1000];dataContractValue.Data.Read(data, 0, data.Length);
msgret.Result =
Encoding.UTF8.GetString(data);}
catch(Exception ex){
throw ex;}
return msgret;}
When 'Data' field of MsgContract1 is FileStream, service works properly. But when I try to use MemoryStream, service
doesnt receive' Data' field properly. Its giving an exception when accessing Length property and 'Data' is empty. Please help.
Thanks a lot
Hantana

