/// <summary> /// Fires on Application Start /// </summary> protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); MvcHandler.DisableMvcResponseHeader = true; FluentValidationModelValidatorProvider.Configure(provider => { provider.ValidatorFactory = new ViewModelValidatorFactory(); }); // Disable Code First Migrations Database.SetInitializer <BrewgrContext>(null); // Setup Exception Error Store ErrorStore.Setup("Brewgr.com", new SQLErrorStore(ConfigurationManager.ConnectionStrings["Brewgr_ConnectionString"].ConnectionString)); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter .SerializerSettings .ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; config.Services.Add(typeof(IExceptionLogger), UnityConfig.Container.Resolve <IExceptionLogger>()); FluentValidationModelValidatorProvider.Configure(config, x => x.ValidatorFactory = new UnityValidatorFactory(config)); }
public static void Register(HttpConfiguration config) { // Configuración y servicios de Web API // Configure Web API para usar solo la autenticación de token de portador. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); // Rutas de Web API config.MapHttpAttributeRoutes(); config.EnableCors(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); FluentValidationModelValidatorProvider.Configure(config); }
public static void Register(HttpConfiguration config) { // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.DependencyResolver = NinjectHelper.GetNinjectResolver(); FluentValidationModelValidatorProvider.Configure(config); var loggingService = (IRequestLoggingService)NinjectHelper.GetResolveService(typeof(IRequestLoggingService)); // register global filters config.Filters.Add(new RequestLoggingFilter(loggingService)); config.Filters.Add(new ApiExceptionFilter()); }
public static void Register(HttpConfiguration config) { // Turn on XML seralization for WebApi config.Formatters.XmlFormatter.UseXmlSerializer = true; // add dependency resolution to the application // based on Microsoft.Extensions.DependencyInjection var serviceProvider = config.BuildDependencyResolver(services => { // add a default memory cache based on Microsoft.Extensions.Caching.Memory services.AddMemoryCache(); // add the client specific services (local project) services.AddClientSpecificTransformations(); // add controllers services.AddTransient <ConversionController>(); }); // add fluent validation FluentValidationModelValidatorProvider.Configure(config, provider => { // use a shim validation factory that uses the service provider // to obtain validations provider.ValidatorFactory = new ValidatorFactory(serviceProvider); }); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // run start up actions using (var serviceScope = config.DependencyResolver.BeginScope()) { serviceScope.GetServices(typeof(IHaveStartupActions)).OfType <IHaveStartupActions>().Startup(); } }
public void Install(IWindsorContainer container, IConfigurationStore store) { var childContainer = new WindsorContainer(); container.AddChildContainer(childContainer); var accessor = _scopeAccessor ?? typeof(WebRequestScopeAccessor); childContainer.Register( Component.For <ServiceBusController>() .LifestyleScoped(accessor) ); foreach (var assembly in _fromAssemblies) { childContainer.Register( assembly.BasedOn <IHttpController>().WithServiceSelf() .LifestyleScoped(accessor) ); } if (_useFluentValidation) { FluentValidationModelValidatorProvider .Configure(_configuration, provider => provider.ValidatorFactory = container.Resolve <IValidatorFactory>()); } _configuration.DependencyResolver = new WindsorDependencyResolver(childContainer.Kernel); ConfigureSwagger(); if (_useGlobalExceptionLogging) { var logger = container.Resolve <ILogger>(); _configuration.Services.Add(typeof(IExceptionLogger), new ServiceBusExceptionLogger(logger)); } _configuration.EnsureInitialized(); }
public static void Start() { FluentValidationModelValidatorProvider.Configure(); ValidatorOptions.DisplayNameResolver = (type, memberInfo, LambdaExpression) => { string propName = type.Name + memberInfo.Name + "DisplayName"; string displayName = WebMessage.ResourceManager.GetString(propName); return(displayName); }; ValidatorOptions.PropertyNameResolver = (type, memberInfo, LambdaExpression) => { string propName = type.Name + memberInfo.Name + "ErrorText"; string displayName = WebMessage.ResourceManager.GetString(propName); return(displayName); }; //替换MVC的元数据提供者 ModelMetadataProviders.Current = new CustomModelMetadataProvider(); //DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false; //ModelValidatorProviders.Providers.Insert(0, new FluentValidationModelValidatorProvider()); }
private static void Register(HttpConfiguration config) { // Configure routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Configure Json formatter var jsonFormatter = config.Formatters.OfType <JsonMediaTypeFormatter>().First(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // elimina el formateo en XML de las respuestas config.Formatters.Remove(config.Formatters.XmlFormatter); // Configure FluentValidation FluentValidationModelValidatorProvider.Configure(config); }
protected void Application_Start() { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ModelBinders.Binders.Add(typeof(string), new TrimStringModelBinder()); AntiForgeryConfig.UniqueClaimTypeIdentifier = DasClaimTypes.Name; var container = StructuremapMvc.StructureMapDependencyScope.Container; FluentValidationModelValidatorProvider.Configure(x => x.ValidatorFactory = new StructureMapValidatorFactory(container)); TelemetryConfiguration.Active.InstrumentationKey = ConfigurationManager.AppSettings["InstrumentationKey"]; Logger.Info("Starting up"); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); log4net.Config.XmlConfigurator.Configure(new FileInfo(Path.Combine("log4net.config"))); ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory( new BusinessModule(), new DependencyResolverMvc() )); FluentValidationModelValidatorProvider.Configure(provider => { provider.ValidatorFactory = new NinjectValidationFactory(new ValidationModule()); }); #region Data Annotation iptal edlip fluent validation devreye girer. ModelValidatorProviders.Providers.Remove( ModelValidatorProviders.Providers.OfType <DataAnnotationsModelValidatorProvider>().First()); #endregion }
protected void Application_Start() { EngineContext.Initialize(false); IContainer container = EngineContext.Current.Container; DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //注入自定义的FluentValidation类型提供工厂 FluentValidationModelValidatorProvider.Configure(x => x.ValidatorFactory = container.Resolve <IValidatorFactory>()); //初始化EF的DbContext DbContextInitConfig.DbContextInit(this); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
public static void Register(HttpConfiguration config) { // Web API configuration and services var validatorFactory = new ODataWithOnionCQRS.MyODataApi.App_Start.FluentValidatorFactory(); FluentValidationModelValidatorProvider.Configure(config, provider => provider.ValidatorFactory = validatorFactory); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.MapODataServiceRoute( routeName: "ODataRoute", routePrefix: null, model: GetEdmModel()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine()); ControllerBuilder.Current.SetControllerFactory(new DefaultControllerFactory()); ModelBinders.Binders.DefaultBinder = new TrimModelBinder(); FluentValidationModelValidatorProvider.Configure(provider => { provider.AddImplicitRequiredValidator = false; provider.Add(typeof(EqualValidator), (metadata, context, description, validator) => new EqualToValueFluentValidationPropertyValidator(metadata, context, description, validator)); }); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory()); FluentValidationModelValidatorProvider.Configure(provider => { provider.ValidatorFactory = new NinjectValidatorFactory(); provider.AddImplicitRequiredValidator = false; }); Mapper.Initialize(mapping => { mapping.CreateMap <Urunler, UrunlerVM>().ReverseMap(); mapping.CreateMap <Yorumlar, YorumlarVM>().ReverseMap(); mapping.CreateMap <Kuponlar, KuponlarVM>().ReverseMap(); mapping.CreateMap <Uyeler, UyeOl>().ReverseMap(); }); }
protected void Application_Start() { //System.Web.Http.GlobalConfiguration.Configure((config) => // { // GlobalConfiguration.Configuration = config; // WebApiConfig.Register(config); // }); // Create the container as usual. var container = new Container(); RegisterIoCContainer(container); DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container)); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); FluentValidationModelValidatorProvider.Configure(); }
/// <summary>Integrates Unity when the application starts.</summary> public static void Start() { // create an empty container DIContainer = new UnityContainer(); // register all your components with the container here ModuleLoader.LoadModulesFromAssemblies(new UnityModuleRegistrar(DIContainer), AppDomain.CurrentDomain.BaseDirectory, SettingsManager.ModulesPath); //Configure Model Validation to use FluentValidation, with Unity as resolver FluentValidationModelValidatorProvider.Configure(GlobalConfiguration.Configuration, c => c.ValidatorFactory = new UnityValidatorFactory(DIContainer)); //Register all public Validators from this assembly AssemblyScanner.FindValidatorsInAssembly(Assembly.GetExecutingAssembly()) .ForEach(validator => DIContainer.RegisterType(validator.InterfaceType, validator.ValidatorType)); // point the WebAPI to use the container GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(DIContainer); //explicite injection of the SecurityService to the AuthenticatedAttribute [we cant use regular DI within attribute] AuthenticatedAttribute._securityService = DIContainer.Resolve(typeof(ISecurity)) as ISecurity; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); FluentValidationModelValidatorProvider.Configure(); Database.SetInitializer(new MigrateDatabaseToLatestVersion <ApplicationDbContext, Configuration>()); DependencyResolver.SetResolver( new StructureMapResolver(() => Container ?? ObjectFactory.Container)); ObjectFactory.Configure(cfg => { cfg.AddRegistry(new StandardRegistry()); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new ActionFilterRegistry( () => Container ?? ObjectFactory.Container)); cfg.AddRegistry(new MvcRegistry(() => Container ?? ObjectFactory.Container)); cfg.AddRegistry(new TaskRegistry()); cfg.AddRegistry(new ModelMetadataRegistry()); cfg.AddRegistry(new MediatorRegistry(() => Container ?? ObjectFactory.Container)); }); using (IContainer container = ObjectFactory.Container.GetNestedContainer()) { foreach (IRunAtInit task in container.GetAllInstances <IRunAtInit>()) { task.Execute(); } foreach (IRunAtStartup task in container.GetAllInstances <IRunAtStartup>()) { task.Execute(); } } }
protected void Application_Start() { // Automatic migration Database.SetInitializer(new MigrateDatabaseToLatestVersion <Service.Data.SMSDb, Aurora.SMS.Web.Migrations.Configuration>()); var dbMigrator = new DbMigrator(new Aurora.SMS.Web.Migrations.Configuration()); if (dbMigrator.GetPendingMigrations().Any()) { dbMigrator.Update(); } Database.SetInitializer(new MigrateDatabaseToLatestVersion <InsuranceDb, Aurora.Insurance.Services.Migrations.Configuration>()); var dbMigrator2 = new DbMigrator(new Aurora.Insurance.Services.Migrations.Configuration()); if (dbMigrator2.GetPendingMigrations().Any()) { dbMigrator2.Update(); } // Register Web API routing support before anything else GlobalConfiguration.Configure(WebApiConfig.Register); Mapper.Initialize(cfg => { cfg.AddProfile <AutoMapperWebProfile>(); cfg.AddProfile <AutoMapperApiProfile>(); }); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); FluentValidationModelValidatorProvider.Configure(); }
public static void Register(HttpConfiguration config) { IKernel kernel = (IKernel)config.DependencyResolver.GetService(typeof(IKernel)); // Конфигурация и службы веб-API FluentValidationModelValidatorProvider.Configure(config, cfg => cfg.ValidatorFactory = new NinjectValidationFactory(kernel)); AssemblyScanner.FindValidatorsInAssemblyContaining <CourseWeb>() .ForEach(result => kernel.Bind(result.InterfaceType) .To(result.ValidatorType)); // Маршруты веб-API config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { // Web API configuration and services config.Filters.Add(new ValidateModelStateFilter()); config.Filters.Add(new ExceptionFilter()); config.MessageHandlers.Add(new ResponseWrappingHandler()); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); FluentValidationModelValidatorProvider.Configure(config); var jsonFormatter = config.Formatters.OfType <JsonMediaTypeFormatter>().First(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }
private static void AutofacBootstrap() { var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Assembly); builder.RegisterModule <AutofacFluentValidationModule>(); builder.RegisterFilterProvider(); // Don't call this multiple times as it will result to multiple registrations builder.AddMediatR(typeof(ICommand).Assembly, typeof(IHandler).Assembly); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); FluentValidationModelValidatorProvider.Configure( provider => { provider.ValidatorFactory = new AutofacValidatorFactory(container); }); }
/// <summary> /// Creates the kernel that will manage your application. /// </summary> /// <returns>The created kernel.</returns> private static IKernel CreateKernel() { var kernel = new StandardKernel(); try { kernel.Bind <Func <IKernel> >().ToMethod(ctx => () => new Bootstrapper().Kernel); kernel.Bind <IHttpModule>().To <HttpApplicationInitializationHttpModule>(); RegisterServices(kernel); var ninjectValidatorFactory = new NinjectValidatorFactory(kernel); FluentValidationModelValidatorProvider.Configure(x => x.ValidatorFactory = ninjectValidatorFactory); DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false; return(kernel); } catch { kernel.Dispose(); throw; } }
public void Configuration(IAppBuilder app) { var configuration = new ConfigurationService(); var builder = new ContainerBuilder(); builder.Register(c => configuration).As <ConfigurationService>().SingleInstance(); builder.Register(c => configuration.CurrentConfiguration).As <IAppConfiguration>().SingleInstance(); builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest(); var container = AutofacBootstrapper.Initialize(builder); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // Must register Autofac middleware FIRST! app.UseAutofacMiddleware(container); app.UseAutofacMvc(); ConfigureAuth(app, configuration.CurrentConfiguration); AntiForgeryConfig.UniqueClaimTypeIdentifier = JwtClaimTypes.Subject; AntiForgeryConfig.RequireSsl = true; AntiForgeryConfig.CookieName = Prsd.Core.Web.Constants.CookiePrefix + Constants.AntiForgeryCookieName; MvcHandler.DisableMvcResponseHeader = true; AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters, configuration.CurrentConfiguration); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ModelBinders.Binders.DefaultBinder = new TrimModelBinder(); DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequiredAttribute), typeof(WeeeRequiredAttributeAdapter)); ApplicationVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); FluentValidationModelValidatorProvider.Configure(); System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; }
public IWindsorContainer Configure(IAppBuilder app) { var container = new WindsorContainer(); container.Register(Component.For <IAppBuilder>().Instance(app)); container.Install(FromAssembly.This(new WindsorBootstrap())) .Install(FromAssembly.Containing <Framework.Config.Installers.ExceptionTranslatorInstaller>()) //install Framwork .Install(FromAssembly.Containing <SearchEngine.Config.Installers.ApiControllerInstaller>(new WindsorBootstrap())); CreateDbIndex x = container.Resolve <CreateDbIndex>(); x.Start(HttpRuntime.AppDomainAppPath + @"App_Data\idx"); FluentValidationModelValidatorProvider .Configure(GlobalConfiguration.Configuration, provider => provider.ValidatorFactory = new WindsorValidatorFactory(container)); GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new WindsorCompositionRoot(container)); //config.DependencyResolver = new WindsorResolver(container); return(container); }
public void Configuration(IAppBuilder appBuilder) { HttpConfiguration config = new HttpConfiguration(); //Microsoft.Owin.Cors.CorsOptions corsOptions = new Microsoft.Owin.Cors.CorsOptions(); //CorsExtensions.UseCors(appBuilder, corsOptions); config.EnableCors(); //For Dependency Injection Register(config); //For JWT Security Token ConfigureAuthApp(appBuilder); //For Creating Custom Response Header config.MessageHandlers.Add(new ResponseWrappingHandler()); //For Model Validation config.Filters.Add(new ValidateModelStateFilter()); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); config.Services.Add(typeof(IExceptionLogger), new GlobalErrorLogger()); config.MapHttpAttributeRoutes(); config.EnableCors(); //For Route Mechanism config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); //Invoke fluent validation FluentValidationModelValidatorProvider.Configure(config); appBuilder.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); appBuilder.UseWebApi(config); }
/// <summary> /// Creates the kernel that will manage your application. /// </summary> /// <returns>The created kernel.</returns> private static IKernel CreateKernel() { var kernel = new StandardKernel(); try { kernel.Bind <Func <IKernel> >().ToMethod(ctx => () => new Bootstrapper().Kernel); kernel.Bind <IHttpModule>().To <HttpApplicationInitializationHttpModule>(); FluentValidationModelValidatorProvider. Configure(GlobalConfiguration.Configuration, provider => provider.ValidatorFactory = new NinjectValidatorFactory(kernel)); RegisterServices(kernel); return(kernel); } catch { kernel.Dispose(); throw; } }
public static void Register(HttpConfiguration config) { var container = new UnityContainer(); MongoClientSettings settings = MongoClientSettings .FromUrl(new MongoUrl(ConfigurationManager.ConnectionStrings["AniHoDb"].ConnectionString)); settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 }; var mongoClient = new MongoClient(settings); container.RegisterSingleton <IUserRepository, DbUserRepository>(); container.RegisterSingleton <IPlaceRepository, DbPlaceRepository>(); container.RegisterSingleton <IAuthentificator, DbAuthentificator>(); container.RegisterInstance <IMongoClient>(mongoClient); config.DependencyResolver = new UnityResolver(container); // Attribute routing config.MapHttpAttributeRoutes(); // Redirect root to Swagger UI config.Routes.MapHttpRoute( name: "Swagger UI", routeTemplate: "", defaults: null, constraints: null, handler: new RedirectHandler(SwaggerDocsConfig.DefaultRootUrlResolver, "swagger/ui/index")); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); FluentValidationModelValidatorProvider.Configure(config); config.EnableCors(); }
public GeolocationControllerFixture() { dbFixture = new MongoDbFixture(); GeolocationsCollection = dbFixture.Collection; var builder = new ContainerBuilder(); var config = GlobalConfiguration.Configuration; FluentValidationModelValidatorProvider.Configure(config); builder.RegisterType <GeolocationController>().AsSelf().SingleInstance(); // register services builder.RegisterType <GeolocationService>().As <IGeolocationService>(); builder.Register(_ => dbFixture.MongoDbSettings).As <ILocationDbSettings>().SingleInstance(); builder.Register(_ => dbFixture.MongoClient).As <IMongoClient>().SingleInstance(); //register mappings builder.Register(_ => new MapperConfiguration(cfg => { cfg.AddProfile <GeolocationViewModelMappingProfile>(); })) .As <IConfigurationProvider>() .SingleInstance(); builder.Register(c => c.Resolve <IConfigurationProvider>().CreateMapper()) .As <IMapper>(); var container = builder.Build(); scope = container.BeginLifetimeScope(); try { Controller = scope.Resolve <GeolocationController>(); } catch (Exception) { Dispose(); throw; } }
protected List <SimpleError> InvokeTest <T>(string input, string contentType = "application/x-www-form-urlencoded") { const string baseAddress = "http://dummyname/"; string className = typeof(T).Name; // Server HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute("Default", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional }); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; FluentValidationModelValidatorProvider.Configure(config); HttpServer server = new HttpServer(config); // Client HttpMessageInvoker messageInvoker = new HttpMessageInvoker(new InMemoryHttpContentSerializationHandler(server)); //order to be created // Order requestOrder = new Order() { OrderId = "A101", OrderValue = 125.00, OrderedDate = DateTime.Now.ToUniversalTime(), ShippedDate = DateTime.Now.AddDays(2).ToUniversalTime() }; HttpRequestMessage request = new HttpRequestMessage(); request.Content = new StringContent(input, Encoding.UTF8, contentType); /* JsonContent(@"{ * SomeBool:'false', * Id:0}"); */ request.RequestUri = new Uri(baseAddress + "api/Test/" + className); request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); request.Method = HttpMethod.Post; CancellationTokenSource cts = new CancellationTokenSource(); using (HttpResponseMessage response = messageInvoker.SendAsync(request, cts.Token).Result) { var errors = response.Content.ReadAsAsync <List <SimpleError> >().Result; return(errors); } }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.EnableSystemDiagnosticsTracing(); config.Routes.MapHttpRoute( name: "API Default", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); GlobalConfiguration.Configuration.Services.RemoveAll( typeof(System.Web.Http.Validation.ModelValidatorProvider), v => v is InvalidModelValidatorProvider); var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize; config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Filters.Add(new ValidateModelStateFilter()); FluentValidationModelValidatorProvider.Configure(); }