private static RazorViewEngineOptionsSetup GetSetup( CompatibilityVersion compatibilityVersion = CompatibilityVersion.Latest, IHostingEnvironment hostingEnvironment = null) { hostingEnvironment = hostingEnvironment ?? Mock.Of <IHostingEnvironment>(); var compatibilityOptions = new MvcCompatibilityOptions { CompatibilityVersion = compatibilityVersion }; return(new RazorViewEngineOptionsSetup( hostingEnvironment, NullLoggerFactory.Instance, Options.Options.Create(compatibilityOptions))); }
public void RazorViewEngineOptionsSetup_ConfiguresAllowRecompilingViewsOnFileChange() { // Arrange var hostingEnv = Mock.Of <IHostingEnvironment>(env => env.EnvironmentName == EnvironmentName.Production); var compatibilityVersion = new MvcCompatibilityOptions { CompatibilityVersion = CompatibilityVersion.Version_2_2 }; var optionsSetup = GetSetup(CompatibilityVersion.Version_2_2, hostingEnv); var serviceProvider = new ServiceCollection() .AddOptions() .AddSingleton <IConfigureOptions <RazorViewEngineOptions> >(optionsSetup) .BuildServiceProvider(); // Act var options = serviceProvider.GetRequiredService <IOptions <RazorViewEngineOptions> >(); // Assert Assert.False(options.Value.AllowRecompilingViewsOnFileChange); }
public void PostConfigure_ConfiguresMaxValidationDepth() { // Arrange var mvcOptions = new MvcOptions(); var mvcCompatibilityOptions = new MvcCompatibilityOptions { CompatibilityVersion = CompatibilityVersion.Version_3_0, }; var configureOptions = new MvcOptionsConfigureCompatibilityOptions( NullLoggerFactory.Instance, Options.Create(mvcCompatibilityOptions)); // Act configureOptions.PostConfigure(string.Empty, mvcOptions); // Assert Assert.Equal(32, mvcOptions.MaxValidationDepth); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(option => { });//.SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddApiVersioning(options => { options.DefaultApiVersion = new ApiVersion(1, 0); options.ReportApiVersions = true; options.AssumeDefaultVersionWhenUnspecified = true; //配置从Http请求报头获取api版本 options.ApiVersionReader = new HeaderApiVersionReader("api-version"); }); services.AddSingleton <IPersonRepository, MemoryPersonRepository>(); MvcOptions mvcOptions = services.BuildServiceProvider().CreateScope().ServiceProvider.GetService <IOptionsMonitor <MvcOptions> >().CurrentValue; MvcCompatibilityOptions mvcCompatibilityOptions = services.BuildServiceProvider().CreateScope().ServiceProvider.GetService <IOptionsMonitor <MvcCompatibilityOptions> >().CurrentValue; IActionSelector actionSelector = services.BuildServiceProvider().CreateScope().ServiceProvider.GetService <IActionSelector>(); }
public void PostConfigure_DoesNotConfiguresMaxValidationDepth_WhenSetToNull() { // Arrange var mvcOptions = new MvcOptions { MaxValidationDepth = null, }; var mvcCompatibilityOptions = new MvcCompatibilityOptions { CompatibilityVersion = CompatibilityVersion.Version_3_0, }; var configureOptions = new MvcOptionsConfigureCompatibilityOptions( NullLoggerFactory.Instance, Options.Create(mvcCompatibilityOptions)); // Act configureOptions.PostConfigure(string.Empty, mvcOptions); // Assert Assert.Null(mvcOptions.MaxValidationDepth); }
public void PostConfigure_DoesNotConfiguresMaxValidationDepth_WhenSetToValue() { // Arrange var expected = 13; var mvcOptions = new MvcOptions { MaxValidationDepth = expected, }; var mvcCompatibilityOptions = new MvcCompatibilityOptions { CompatibilityVersion = CompatibilityVersion.Version_2_2, }; var configureOptions = new MvcOptionsConfigureCompatibilityOptions( NullLoggerFactory.Instance, Options.Create(mvcCompatibilityOptions)); // Act configureOptions.PostConfigure(string.Empty, mvcOptions); // Assert Assert.Equal(expected, mvcOptions.MaxValidationDepth); }