public override MessageEncoderFactory CreateMessageEncoderFactory() { CustomTextMessageEncoderFactory factory = new CustomTextMessageEncoderFactory(this.MediaType, this.Encoding, this.MessageVersion); CustomTextMessageEncoder encoder = (CustomTextMessageEncoder)factory.Encoder; encoder.SetListener(_listener); encoder.AddBreakingBehaviour(_behaviour); return(factory); }
public CustomTextMessageEncoder(CustomTextMessageEncoderFactory factory) { this.factory = factory; this.writerSettings = new XmlWriterSettings(); this.writerSettings.Encoding = Encoding.GetEncoding(factory.CharSet); this.contentType = string.Format("{0}; charset={1}", this.factory.MediaType, this.writerSettings.Encoding.HeaderName); MessageEncoderFactory baseFactory; TextMessageEncodingBindingElement element = new TextMessageEncodingBindingElement(factory.MessageVersion, Encoding.GetEncoding(factory.CharSet)); baseFactory = element.CreateMessageEncoderFactory(); baseEncoder = baseFactory.Encoder; }