C# WCF错误:无消息版本不支持Soap头

C# WCF错误:无消息版本不支持Soap头,c#,web-services,wcf,soap,C#,Web Services,Wcf,Soap,我正在尝试为WCF中的文件传输添加流。 我的WCF服务有两个端点—BasicHttpBinding和WebHttpBinding 我得到一个错误-执行文件传输的方法上的None消息版本不支持Soap头。 只要我在web.config中注释我的WebHttpBinding端点并只使用我的BasicHttpBinding,错误就会消失 我已经搜索了很多关于这个问题的帖子,但是找不到原因和解决这个问题的方法 如果我对上传方法进行评论,它工作正常,没有错误。 这是我的配置 <endpoint ad

我正在尝试为WCF中的文件传输添加流。 我的WCF服务有两个端点—BasicHttpBinding和WebHttpBinding

我得到一个错误-执行文件传输的方法上的None消息版本不支持Soap头。 只要我在web.config中注释我的WebHttpBinding端点并只使用我的BasicHttpBinding,错误就会消失

我已经搜索了很多关于这个问题的帖子,但是找不到原因和解决这个问题的方法

如果我对上传方法进行评论,它工作正常,没有错误。

这是我的配置

<endpoint address="basic" 
          binding="basicHttpBinding" 
          bindingConfiguration="myBasicBinding" 
          contract="IService" /> 
<endpoint address="web" 
          binding="webHttpBinding" 
          behaviorConfiguration="webBehavior"
          bindingConfiguration="webbinding" 
          contract="IService" /> 
<endpoint address="mex" 
          binding="mexHttpBinding" 
          contract="IMetadataExchange" />

据我所知,webHttpBinding使用MessageVersion。None和None是不使用SOAP或WS-Addressing的消息版本,MessageVersion。None支持使用“普通旧XML”(POX)样式的消息传递。 在这种风格中,您不需要处理SOAP信封和SOAP头。。
而且,由于您在消息契约中使用了MessageHeader,如果您不在web.config中注释WebHttpBinding端点,您将得到错误消息

请发布您的配置,您可能必须使用customerbinding并使用较低版本的SOAPi I未看到您的绑定正在终止服务端有什么问题?请检查您的配置。此服务已在工作并正在使用。您认为这可能是个问题吗?
<binding name="myBasicBinding" 
         maxBufferSize="2147483647" 
         maxReceivedMessageSize="2147483647" 
         closeTimeout="01:50:00" 
         openTimeout="01:50:00" 
         sendTimeout="01:50:00" 
         receiveTimeout="01:50:00" 
         transferMode="Streamed" 
         messageEncoding="Mtom" >
<binding name="webbinding" transferMode="StreamedRequest">
 <service name="EmployeeAPI.Service" behaviorConfiguration="MyServiceTypeBehaviors">    
    [OperationBehavior]
    public void UploadFile_WorksFineForlocalDrive(FileUploadMessage request)
    { ... }

[MessageContract]
    public class FileUploadMessage
    {
        [MessageHeader(MustUnderstand = true)]
        public FileMetaData Metadata;
        [MessageBodyMember(Order = 1)]
        public Stream FileByteStream;
    }