Кодировка сообщения WCF MTOM с помощью MessageContract - PullRequest
2 голосов
/ 11 ноября 2011

Требуется иметь возможность загружать большой файл (~ 2 ГБ) с помощью службы WCF, и я создал класс messageContract следующим образом

 [MessageContract]
public class TestMessageContract
{
    [MessageHeader]
    public string FileName { get; set; }

    [MessageBodyMember]
    public byte[] UploadedFileContent { get; set; }        

}

и вот мой веб-конфиг на стороне службы

<wsHttpBinding>
    <binding name="wsHttpFileSize" closeTimeout="00:10:00" openTimeout="00:10:00"
      receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false"
      bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
       maxBufferPoolSize="1073741824" maxReceivedMessageSize="1073741824"
      messageEncoding="Mtom"
      useDefaultWebProxy="true">
      <readerQuotas maxDepth="1073741824" maxArrayLength="1073741824" maxBytesPerRead="1073741824"/>
    </binding>
  </wsHttpBinding>
    </bindings>
    <services>
        <service name="WcfService1.IService1">
            <endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpNormal" contract="WcfService1.IService1"/>
    <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpFileSize" contract="WcfService1.IFileUploadService"/>
            <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex"/>
            <host>
                <baseAddresses>
                    <add baseAddress="http://localhost:909/"/>
                </baseAddresses>
            </host>
        </service>
    </services>

Та же конфигурация привязки используется и на стороне клиента. И вот исключение, которое я получаю за последние 4 часа. Я не могу понять проблему ..

Исключительное содержание

Тип multipart / related; type = "application / xop + xml"; start = "http://tempuri.org/0";boundary="uuid:382b5a40-f4f2-4399-9e63-b3f9e81227a5+id=2";start-info="application/soap+xml" не поддерживается службой http://localhost:909/Service1.svc. Привязки клиента и службы могут не совпадать.

...