/// <inheritdoc /> public static void ConfigureMvc(MvcOptions options) { // Set up ViewEngines options.ViewEngines.Add(typeof(RazorViewEngine)); // Set up ModelBinding options.ModelBinders.Add(typeof(BinderTypeBasedModelBinder)); options.ModelBinders.Add(typeof(ServicesModelBinder)); options.ModelBinders.Add(typeof(BodyModelBinder)); options.ModelBinders.Add(new HeaderModelBinder()); options.ModelBinders.Add(new TypeConverterModelBinder()); options.ModelBinders.Add(new TypeMatchModelBinder()); options.ModelBinders.Add(new CancellationTokenModelBinder()); options.ModelBinders.Add(new ByteArrayModelBinder()); options.ModelBinders.Add(typeof(GenericModelBinder)); options.ModelBinders.Add(new MutableObjectModelBinder()); options.ModelBinders.Add(new ComplexModelDtoModelBinder()); // Set up default output formatters. options.OutputFormatters.Add(new HttpNoContentOutputFormatter()); options.OutputFormatters.Add(new TextPlainFormatter()); options.OutputFormatters.Add(new JsonOutputFormatter()); options.OutputFormatters.Add( new XmlDataContractSerializerOutputFormatter(XmlOutputFormatter.GetDefaultXmlWriterSettings())); // Set up default input formatters. options.InputFormatters.Add(new JsonInputFormatter()); options.InputFormatters.Add(new XmlDataContractSerializerInputFormatter()); // Set up ValueProviders options.ValueProviderFactories.Add(new RouteValueValueProviderFactory()); options.ValueProviderFactories.Add(new QueryStringValueProviderFactory()); options.ValueProviderFactories.Add(new FormValueProviderFactory()); // Set up validators options.ModelValidatorProviders.Add(new DataAnnotationsModelValidatorProvider()); options.ModelValidatorProviders.Add(new DataMemberModelValidatorProvider()); // Add types to be excluded from Validation options.ValidationExcludeFilters.Add(new SimpleTypesExcludeFilter()); options.ValidationExcludeFilters.Add(typeof(XObject)); options.ValidationExcludeFilters.Add(typeof(Type)); options.ValidationExcludeFilters.Add(typeof(JToken)); options.ValidationExcludeFilters.Add(typeFullName: "System.Xml.XmlNode"); }
/// <inheritdoc /> public void Setup(MvcOptions options) { // Set up ViewEngines options.ViewEngines.Add(typeof(RazorViewEngine)); // Set up ModelBinding options.ModelBinders.Add(new TypeConverterModelBinder()); options.ModelBinders.Add(new TypeMatchModelBinder()); options.ModelBinders.Add(new ByteArrayModelBinder()); options.ModelBinders.Add(typeof(GenericModelBinder)); options.ModelBinders.Add(new MutableObjectModelBinder()); options.ModelBinders.Add(new ComplexModelDtoModelBinder()); // Set up default output formatters. options.OutputFormatters.Add(new HttpNoContentOutputFormatter()); options.OutputFormatters.Add(new TextPlainFormatter()); options.OutputFormatters.Add(new JsonOutputFormatter(JsonOutputFormatter.CreateDefaultSettings(), indent: false)); options.OutputFormatters.Add( new XmlDataContractSerializerOutputFormatter(XmlOutputFormatter.GetDefaultXmlWriterSettings())); options.OutputFormatters.Add( new XmlSerializerOutputFormatter(XmlOutputFormatter.GetDefaultXmlWriterSettings())); // Set up default input formatters. options.InputFormatters.Add(new JsonInputFormatter()); options.InputFormatters.Add(new XmlSerializerInputFormatter()); options.InputFormatters.Add(new XmlDataContractSerializerInputFormatter()); // Set up ValueProviders options.ValueProviderFactories.Add(new RouteValueValueProviderFactory()); options.ValueProviderFactories.Add(new QueryStringValueProviderFactory()); options.ValueProviderFactories.Add(new FormValueProviderFactory()); // Set up validators options.ModelValidatorProviders.Add(new DataAnnotationsModelValidatorProvider()); options.ModelValidatorProviders.Add(new DataMemberModelValidatorProvider()); }