How implement WcfCoreMtomEncoder in .NET Core?

349 Views Asked by At

I'm new in .NET Core. I have implemented MTOM in .NET framework by adding bindings of MTOM, now I need to implement WcfCoreMtomEncoder in my .NET Core project.

I'm little bit confused as there is no web.config in .NET Core, so where can I implement MTOM? and how?

Thanks in advance.

1

There are 1 best solutions below

4
Chen On

The MtomMessageEncoderBindingElement allows .NET Core applications to communicate with WCF endpoints which support MTOM encoding.

Note: This is not a complete implementation of MTOM. It is meant as a workaround for calling existing MTOM encoded SOAP services. It consumes MTOM encoded messages, but does not perform MTOMEncoding on outbound messages. However this should be sufficent for interoperating with existing services.

You need to install the WcfCoreMtomEncoder Nuget Package: Install-Package WcfCoreMtomEncoder. And then create a custom binding:

var encoding = new MtomMessageEncoderBindingElement(new TextMessageEncodingBindingElement());
var transport = new HttpTransportBindingElement();
var customBinding = new CustomBinding(encoding, transport);

var client = new MtomEnabledServiceClient(customBinding);

For specific steps, you can refer to this link.