示例#1
0
        public void Configuration(IAppBuilder app)
        {
            var config  = new HttpConfiguration();
            var builder = new ContainerBuilder();

            WebApiConfig.Register(config);
            SwaggerConfig.Register(config);

            //------register autofac dependencies-------

            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            MediatorConfig.Register(builder);
            AutomapperConfig.Register(builder);
            WarehouseDependencies.Register(builder);

            var container = builder.Build();

            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);

            //-------------------------------------------

            app.UseWebApi(config);
        }
示例#2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors();
            services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);



            // Register the Swagger generator, defining 1 or more Swagger documents
            SwaggerConfig.Register(services);

            //For Getting current Context
            HttpServiceCollectionExtensions.AddHttpContextAccessor(services);



            //Register Identity
            IdentityConfig.RegisterAppDatabase(services, Configuration);
            IdentityConfig.Register(services, Configuration);


            //Dependancy registraion
            RegisterDependancyConfig.Register(services);

            services.AddControllers();
        }
示例#3
0
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            //Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            SwaggerConfig.Register();

            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            config.Formatters.Remove(config.Formatters.XmlFormatter);
            var jsonFormat = config.Formatters.JsonFormatter;
            var setting    = jsonFormat.SerializerSettings;

            setting.Formatting       = Newtonsoft.Json.Formatting.Indented;
            setting.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
            setting.Converters.Add(new BoolConverter());
            setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";

            config.MessageHandlers.Add(new ApiHttpMessageHandler((request) => {
                return(request.GetRouteData().Route.Handler == null);
            }));
            // config.EnsureInitialized();
        }
示例#4
0
        public void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions
            {
                AuthenticationType = "ApplicationCookie",
                LoginPath          = new PathString("/auth/login")
            });


            HttpConfiguration config = new HttpConfiguration();

            SwaggerConfig.Register(config);
            // Configure Dependency Injection
            var container = new UnityContainer();

            DependencyResolver.Resolve(container);
            config.DependencyResolver = new UnityResolver(container);

            ConfigureWebApi(config);
            ConfigureOAuth(app, container);

            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

            app.UseWebApi(config);
        }
示例#5
0
        protected void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);

            SwaggerConfig.Register();
            GlobalConfiguration.Configure(WebApiConfig.Register);
        }
示例#6
0
        public static void Register(HttpConfiguration config)
        {
            // Add routes
            config.MapHttpAttributeRoutes();

            // Allow cross-origin
            var cors = new CustomCorsPolicyAttribute();

            config.EnableCors(cors);

            // Add authorize filter
            config.Filters.Add(new ApiAuthenticationAttribute());

            // Always show error details
            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            // This will make is so the [Serializable] attribute will be ignored. Some classes need this
            // attribute so they can be saved in the session, but it causes the property names to be munged.
            // [http://stackoverflow.com/questions/12334382/net-webapi-serialization-k-backingfield-nastiness#22486064]
            var serializerSettings = config.Formatters.JsonFormatter.SerializerSettings;
            var contractResolver   = (DefaultContractResolver)serializerSettings.ContractResolver;

            contractResolver.IgnoreSerializableAttribute = true;

            // Swagger is an API documentation tool
            SwaggerConfig.Register(config);
        }
示例#7
0
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkID=316888

            HttpConfiguration config = new HttpConfiguration();

            config.Routes.MapHttpRoute(name: "DefaultApi",
                                       routeTemplate: "api/{Controller}/{action}",
                                       defaults: new
            {
                id = RouteParameter.Optional
            });

            config.Filters.Add(new WebApiExceptionFilterAttribute());

            // 允许跨域
            app.UseCors(CorsOptions.AllowAll);

            //将默认xml返回数据格式改为json
            config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
            config.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("datatype", "json", "application/json"));

            SwaggerConfig.Register(config);
            IocConfig.Register(config);

            app.UseWebApi(config);
        }
示例#8
0
        /// <summary>
        /// Register.
        /// </summary>
        /// <param name="config"></param>
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "Fibonacci Assessment",
                routeTemplate: string.Empty,
                defaults: null,
                constraints: null,
                handler: new RedirectHandler(message => message.RequestUri.ToString().TrimEnd('/'), "FrontPage_Sources/index.html"));


            config.Services.Replace(typeof(IHttpControllerActivator), new CustomHttpControllerActivator());


            // Configure web api to only accept an serve json
            JsonMediaTypeFormatter jsonMediaTypeFormatter = new JsonMediaTypeFormatter();
            var jsonSettings = jsonMediaTypeFormatter.SerializerSettings;

            jsonSettings.ContractResolver      = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
            jsonSettings.DefaultValueHandling  = Newtonsoft.Json.DefaultValueHandling.Ignore;
            jsonSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;


            config.Formatters.Clear();
            config.Formatters.Add(jsonMediaTypeFormatter);
            SwaggerConfig.Register(config);
        }
示例#9
0
        public void AddInOdataParameters()
        {
            using (var server = TestServer.Create(app =>
            {
                Config.MapHttpAttributeRoutes();
                SwaggerConfig.Register(Config, "autoPocoPath");
                app.UseWebApi(Config);
            }))
            {
                string result    = server.HttpClient.GetStringAsync("autoPocoPath/swagger/docs/v1").Result;
                var    resultObj = JObject.Parse(result);


                var parameterNames = resultObj["paths"]["/api/{connectorName}/_table/{tableName}"]["get"]["parameters"].Select(c => c["name"]);

                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$filter"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$select"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$expand"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$orderby"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$skip"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$top"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$apply"));
                Assert.IsTrue(parameterNames.Any(c => c.Value <string>() == "$count"));
            }
        }
示例#10
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext <QueueContext>(options =>
                                                 options.UseSqlServer(Configuration.GetConnectionString("QueueConnection")));
            services.AddSwaggerGen(SwaggerConfig.Register());
            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer      = Configuration["Jwt:Issuer"],
                    ValidAudience    = Configuration["Jwt:Issuer"],
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"]))
                };
            });

            services.AddIdentity <User, IdentityRole>()
            .AddEntityFrameworkStores <QueueContext>()
            .AddUserManager <UserManager <User> >()
            .AddRoleManager <RoleManager <IdentityRole> >();

            ConfigureApplicationServices(services);

            services.AddAutoMapper();
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }
示例#11
0
        public static void Register(HttpConfiguration config)

        {
            // Web API configuration and services
            //var corsAttr = new EnableCorsAttribute("*", "*", "*");
            //config.EnableCors(corsAttr);
            config.EnableCors();
            // Web API routes
            config.MapHttpAttributeRoutes();


            SwaggerConfig.Register();


            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            //config.Formatters.JsonFormatter.SupportedMediaTypes
            // .Add(new MediaTypeHeaderValue("text/html"));
        }
示例#12
0
        protected void Application_Start(object sender, EventArgs e)
        {
            var config = GlobalConfiguration.Configuration;

            WebApiConfig.Register(config);
            SwaggerConfig.Register(config);
        }
示例#13
0
        public void Configuration(IAppBuilder app)
        {
            HookConnectionStrings();
            var config    = new HttpConfiguration();
            var container = ConfigureWindsor(config);

            AuthConfig.Register(app, container);
            WebApiConfig.Register(config, container);
            SwaggerConfig.Register(config);
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
            app.Map("/signalr", map =>
            {
                map.UseCors(SignalrCorsOptions.Value);
                map.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()
                {
                    Provider = new QueryStringOAuthBearerProvider()
                });

                var hubConfiguration = new HubConfiguration
                {
                    Resolver    = GlobalHost.DependencyResolver,
                    EnableJSONP = true,
                };
                map.RunSignalR(hubConfiguration);
            });
        }
示例#14
0
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
#if DEBUG
            GlobalConfiguration.Configure(config => SwaggerConfig.Register(config, "~/bin/ArtifactStore.XML", "ArtifactStore"));
#endif
            HttpsSecurity.Configure();
        }
示例#15
0
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
#if DEBUG
            GlobalConfiguration.Configure(config => SwaggerConfig.Register(config, "~/bin/AccessControl.XML", "AccessControl",
                                                                           "AccessControl is Auxiliary Web Service to trace user sessions and resolve authorization queries within Blueprint services. AccessControl is the internal part of enterprise solution infrastructure and service endpoint is not visible to client web application."));
#endif
        }
 public Bootstrapper EnableSwagger(HttpConfiguration configuration)
 {
     if (ConfigurationManager.AppSettings["Env"] != "production")
     {
         SwaggerConfig.Register(configuration);
     }
     return(this);
 }
示例#17
0
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
#if DEBUG
            GlobalConfiguration.Configure(config => SwaggerConfig.Register(config, "~/bin/SearchService.XML", "SearchService",
                                                                           "SearchService is Web Service to perform searchs in Blueprint Web Application."));
#endif
            HttpsSecurity.Configure();
        }
示例#18
0
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
#if DEBUG
            GlobalConfiguration.Configure(config => SwaggerConfig.Register(config, "~/bin/AdminStore.XML", "AdminStore",
                                                                           "AdminStore is Web Service to facilitate application and project administration functionality, user authentication and authorization."));
#endif
            HttpsSecurity.Configure();
        }
示例#19
0
        protected void Application_Start()
        {
            this.SetupEventTracing();

            GlobalConfiguration.Configure(WebApiConfig.Register);
#if DEBUG
            GlobalConfiguration.Configure(config => SwaggerConfig.Register(config, "~/bin/ConfigControl.XML", "ConfigControl"));
#endif
        }
示例#20
0
        public void Configuration(IAppBuilder app)
        {
            HttpConfiguration config = new HttpConfiguration();

            WebApiConfig.Register(config);

            app.UseWebApi(config);
            SwaggerConfig.Register(config);
        }
示例#21
0
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
#if DEBUG
            GlobalConfiguration.Configure(config => SwaggerConfig.Register(config, "~/bin/FileStore.XML", "FileStore",
                                                                           "FileStore is Web Service to persist and provide files attached to artifacts or any other kind of user files in Blueprint Web Application."));
#endif
            HttpsSecurity.Configure();
        }
示例#22
0
        protected void Application_Start()
        {
            bool isolateAreaSwaggers;

            bool.TryParse(ConfigurationManager.AppSettings["isolateAreaSwaggers"], out isolateAreaSwaggers);

            AreaRegistration.RegisterAllAreas();
            SwaggerConfig.Register(GlobalConfiguration.Configuration, isolateAreaSwaggers);
            GlobalConfiguration.Configure(WebApiConfig.Register);
        }
示例#23
0
        public override void Initialize()
        {
            //This code is used to register classes to dependency injection system for this assembly using conventions.
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
            var config = Configuration.Modules.AbpWebApi().HttpConfiguration;

            config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
            config.MapHttpAttributeRoutes();
            SwaggerConfig.Register(config);
        }
        public void Configuration(IAppBuilder app)
        {
            var httpConfiguration = new HttpConfiguration();

            SwaggerConfig.Register(httpConfiguration);
            WebApiConfig.Register(httpConfiguration);

            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseOAuth();
            app.UseWebApi(httpConfiguration);
        }
示例#25
0
        public static void Register(HttpConfiguration config)
        {
            SwaggerConfig.Register(config);
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: RouteNames.GetRooms,
                routeTemplate: "{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );
        }
示例#26
0
        public void Configuration(IAppBuilder app)
        {
            var config = new HttpConfiguration();

            AutofacConfig.Configure(config, app);
            WebApiConfig.Register(config);
            SwaggerConfig.Register(config);

            ConfigureAuth(app);
            app.UseWebApi(config);
        }
示例#27
0
 public void VerifyDocumentTitleAutoPoco()
 {
     using (var server = TestServer.Create(app =>
     {
         SwaggerConfig.Register(Config, "/autoPocoPath");
         app.UseWebApi(Config);
     }))
     {
         string result = server.HttpClient.GetStringAsync("autoPocoPath/swagger/ui/index").Result;
         Assert.IsTrue(result.Contains("<title>AutoPoco</title>"));
     }
 }
示例#28
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureOAuth(app);
            HttpConfiguration config = new HttpConfiguration();

            SwaggerConfig.Register(config);
            AutoMapperConfig.Initialize();
            DependencyInjectionConfig.RegisterDependencyInjection(config);
            WebApiConfig.Register(config);
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
        }
示例#29
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddTransient <ICoworkingDBContext, CoworkingDBContext>();
            services.AddDbContext <CoworkingDBContext>(o => o.UseSqlServer(Configuration.GetConnectionString("DB")));
            IoCRegister.Register(services);

            SwaggerConfig.Register(services);

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            //agregar servicios
        }
示例#30
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureOAuth(app);


            HttpConfiguration config = new HttpConfiguration();

            WebApiConfig.Register(config);
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
            SwaggerConfig.Register(config);
        }