﻿<?xml version="1.0" encoding="utf-8"?><Type Name="MessageEncoderFactory" FullName="System.ServiceModel.Channels.MessageEncoderFactory"><TypeSignature Language="C#" Value="public abstract class MessageEncoderFactory" /><TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit MessageEncoderFactory extends System.Object" /><AssemblyInfo><AssemblyName>System.ServiceModel</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Encoding is the process of transforming a message into a sequence of bytes. Decoding is the reverse process. </para><para>Use this class if you want to implement a custom message encoder. To implement your own custom message encoder, you must provide custom implementations of the following three abstract base classes:</para><list type="bullet"><item><para><see cref="T:System.ServiceModel.Channels.MessageEncodingBindingElement" /></para></item><item><para><see cref="T:System.ServiceModel.Channels.MessageEncoderFactory" /></para></item><item><para><see cref="T:System.ServiceModel.Channels.MessageEncoder" /></para></item></list><para>Override the <see cref="P:System.ServiceModel.Channels.MessageEncoderFactory.Encoder" /> to return an instance of your custom <see cref="T:System.ServiceModel.Channels.MessageEncoder" />. Then wire up your custom <see cref="T:System.ServiceModel.Channels.MessageEncoderFactory" /> to the binding element stack used to configure the service or client by overriding the <see cref="M:System.ServiceModel.Channels.MessageEncodingBindingElement.CreateMessageEncoderFactory" /> method to return an instance of this factory. For more information about custom encoders, see <format type="text/html"><a href="0f03c635-f3e7-4c5c-9463-3cb0135e221e">Custom Encoders</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>An abstract base class that represents the factory for producing message encoders that can read messages from a stream and write them to a stream for various types of message encoding.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected MessageEncoderFactory ();" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.MessageEncoderFactory" /> class. </para></summary></Docs></Member><Member MemberName="CreateSessionEncoder"><MemberSignature Language="C#" Value="public virtual System.ServiceModel.Channels.MessageEncoder CreateSessionEncoder ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ServiceModel.Channels.MessageEncoder CreateSessionEncoder() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.ServiceModel.Channels.MessageEncoder</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A session-based message encoder can keep track the individual messages that form part of a conversation that consists of all the messages exchanged between two endpoints that are part of a session.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a message encoder that can be used to correlate messages in session-based exchanges.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.ServiceModel.Channels.MessageEncoder" /> that is used in session-based exchanges of messages.</para></returns></Docs></Member><Member MemberName="Encoder"><MemberSignature Language="C#" Value="public abstract System.ServiceModel.Channels.MessageEncoder Encoder { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Channels.MessageEncoder Encoder" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.ServiceModel.Channels.MessageEncoder</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, gets the message encoder that is produced by the factory.</para></summary></Docs></Member><Member MemberName="MessageVersion"><MemberSignature Language="C#" Value="public abstract System.ServiceModel.Channels.MessageVersion MessageVersion { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Channels.MessageVersion MessageVersion" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.ServiceModel.Channels.MessageVersion</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The message version can be set using the <see cref="P:System.ServiceModel.Channels.MessageEncodingBindingElement.MessageVersion" /> property. <see cref="T:System.ServiceModel.Channels.MessageVersion" /> is limited to using certain versions of SOAP and WS-Addressing and is not extensible. So if these versions are not to be used, this property should be overridden to return <see cref="P:System.ServiceModel.Channels.MessageVersion.None" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, gets the message version that is used by the encoders produced by the factory to encode messages.</para></summary></Docs></Member></Members></Type>