我有一个包含一个BodyMember的MessageContract.当我尝试发送该消息合同而不初始化该BodyMember时,我得到以下内容:
发生System.ArgumentNullException Message = Value不能为null.参数名称:FileStream
如果我将它更改为MessageHeader它将起作用(但我需要它保持BodyMember).MessageBodyMember是否可能无法为null或Stream不能为空?
这是MessageContract:
[MessageContract]
public class AdsAdminRequest : ServiceMessageRequest
{
[MessageHeader]
public AdsAdminCriteria Criteria { get; set; }
[MessageHeader]
public AdDto Ad { get; set; }
[MessageBodyMember]
public Stream FileStream { get; set; }
}
Run Code Online (Sandbox Code Playgroud) 我有一个WCF服务,它使用Stream类上传文档.
在此之后,我想获取文档的大小(流的长度),以更新FileSize的fileAttribute.
但是这样做,WCF引发了一个例外
Document Upload Exception: System.NotSupportedException: Specified method is not supported.
at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.get_Length()
at eDMRMService.DocumentHandling.UploadDocument(UploadDocumentRequest request)
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题.