コード例 #1
0
        /// <summary>
        /// Creates a new <see cref="ObjectResultExecutor"/>.
        /// </summary>
        /// <param name="formatterSelector">The <see cref="OutputFormatterSelector"/>.</param>
        /// <param name="writerFactory">The <see cref="IHttpResponseStreamWriterFactory"/>.</param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="mvcOptions">Accessor to <see cref="MvcOptions"/>.</param>
        public ObjectResultExecutor(
            OutputFormatterSelector formatterSelector,
            IHttpResponseStreamWriterFactory writerFactory,
            ILoggerFactory loggerFactory,
            IOptions <MvcOptions> mvcOptions)
        {
            if (formatterSelector == null)
            {
                throw new ArgumentNullException(nameof(formatterSelector));
            }

            if (writerFactory == null)
            {
                throw new ArgumentNullException(nameof(writerFactory));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            FormatterSelector = formatterSelector;
            WriterFactory     = writerFactory.CreateWriter;
            Logger            = loggerFactory.CreateLogger <ObjectResultExecutor>();
            var options = mvcOptions?.Value ?? throw new ArgumentNullException(nameof(mvcOptions));

            _asyncEnumerableReaderFactory = new AsyncEnumerableReader(options);
        }
コード例 #2
0
 public ObjectResultExecutor(
     OutputFormatterSelector formatterSelector,
     IHttpResponseStreamWriterFactory writerFactory,
     ILoggerFactory loggerFactory)
     : this(formatterSelector, writerFactory, loggerFactory, mvcOptions : null)
 {
 }
コード例 #3
0
        /// <summary>
        /// Creates a new <see cref="ObjectResultExecutor"/>.
        /// </summary>
        /// <param name="formatterSelector">The <see cref="OutputFormatterSelector"/>.</param>
        /// <param name="writerFactory">The <see cref="IHttpResponseStreamWriterFactory"/>.</param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        public ObjectResultExecutor(
            OutputFormatterSelector formatterSelector,
            IHttpResponseStreamWriterFactory writerFactory,
            ILoggerFactory loggerFactory)
        {
            if (writerFactory == null)
            {
                throw new ArgumentNullException(nameof(writerFactory));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            FormatterSelector = formatterSelector ?? throw new ArgumentNullException(nameof(formatterSelector));
            WriterFactory     = writerFactory.CreateWriter;
            Logger            = loggerFactory.CreateLogger <ObjectResultExecutor>();
        }