private ODataJsonOutputContext(ODataFormat format, Stream messageStream, Encoding encoding, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, bool synchronous, IEdmModel model, IODataUrlResolver urlResolver) : base(format, messageWriterSettings, writingResponse, synchronous, model, urlResolver) { try { Stream asynchronousOutputStream; this.messageOutputStream = messageStream; if (synchronous) { asynchronousOutputStream = messageStream; } else { this.asynchronousOutputStream = new AsyncBufferedStream(messageStream); asynchronousOutputStream = this.asynchronousOutputStream; } this.textWriter = new StreamWriter(asynchronousOutputStream, encoding); this.jsonWriter = new Microsoft.Data.OData.Json.JsonWriter(this.textWriter, messageWriterSettings.Indent); } catch (Exception exception) { if (ExceptionUtils.IsCatchableExceptionType(exception) && (messageStream != null)) { messageStream.Dispose(); } throw; } }
private ODataJsonOutputContext(ODataFormat format, Stream messageStream, Encoding encoding, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, bool synchronous, IEdmModel model, IODataUrlResolver urlResolver) : base(format, messageWriterSettings, writingResponse, synchronous, model, urlResolver) { try { Stream asynchronousOutputStream; this.messageOutputStream = messageStream; if (synchronous) { asynchronousOutputStream = messageStream; } else { this.asynchronousOutputStream = new AsyncBufferedStream(messageStream); asynchronousOutputStream = this.asynchronousOutputStream; } this.textWriter = new StreamWriter(asynchronousOutputStream, encoding); this.jsonWriter = new Microsoft.Data.OData.Json.JsonWriter(this.textWriter, messageWriterSettings.Indent); } catch (Exception exception) { if (ExceptionUtils.IsCatchableExceptionType(exception) && (messageStream != null)) { messageStream.Dispose(); } throw; } }
protected override void Dispose(bool disposing) { base.Dispose(disposing); try { if (this.messageOutputStream != null) { this.jsonWriter.Flush(); if (this.asynchronousOutputStream != null) { this.asynchronousOutputStream.FlushSync(); this.asynchronousOutputStream.Dispose(); } this.messageOutputStream.Dispose(); } } finally { this.messageOutputStream = null; this.asynchronousOutputStream = null; this.textWriter = null; this.jsonWriter = null; } }
private ODataJsonOutputContext(ODataFormat format, Microsoft.Data.OData.Json.JsonWriter jsonWriter, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, bool synchronous, IEdmModel model, IODataUrlResolver urlResolver) : base(format, messageWriterSettings, writingResponse, synchronous, model, urlResolver) { this.jsonWriter = jsonWriter; }
protected override void Dispose(bool disposing) { base.Dispose(disposing); try { if (this.messageOutputStream != null) { this.jsonWriter.Flush(); if (this.asynchronousOutputStream != null) { this.asynchronousOutputStream.FlushSync(); this.asynchronousOutputStream.Dispose(); } this.messageOutputStream.Dispose(); } } finally { this.messageOutputStream = null; this.asynchronousOutputStream = null; this.textWriter = null; this.jsonWriter = null; } }
internal static ODataJsonOutputContext Create(ODataFormat format, Microsoft.Data.OData.Json.JsonWriter jsonWriter, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, IEdmModel model, IODataUrlResolver urlResolver) { return(new ODataJsonOutputContext(format, jsonWriter, messageWriterSettings, writingResponse, true, model, urlResolver)); }
private ODataJsonOutputContext(ODataFormat format, Microsoft.Data.OData.Json.JsonWriter jsonWriter, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, bool synchronous, IEdmModel model, IODataUrlResolver urlResolver) : base(format, messageWriterSettings, writingResponse, synchronous, model, urlResolver) { this.jsonWriter = jsonWriter; }