Exemple #1
0
        public static void Register(HttpConfiguration config)
        {
            Log.Information("Registering Web API.");
            config.SuppressDefaultHostAuthentication();
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute("VersionedApi", "api/v1.0/{schema}/{controller}/{action}/{id}",
                                       new { id = RouteParameter.Optional });
            config.Routes.MapHttpRoute("DefaultApi", "api/{schema}/{controller}/{action}/{id}",
                                       new { id = RouteParameter.Optional });

            if (FrapidApiController.GetMembers() != null)
            {
                var version = HttpRuntime.IISVersion;

                if (version != null && version < new Version("8.0.0.0"))
                {
                    config.Services.Replace(typeof(IAssembliesResolver), new ClassicAssemblyResolver());
                }
                else
                {
                    config.Services.Replace(typeof(IAssembliesResolver), new DefaultAssemblyResolver());
                }
            }

            config.EnsureInitialized();
        }
        public override ICollection <Assembly> GetAssemblies()
        {
            var baseAssemblies = base.GetAssemblies();
            var assemblies     = new List <Assembly>(baseAssemblies);
            var items          = FrapidApiController.GetMembers();

            foreach (var item in items)
            {
                baseAssemblies.Add(item);
            }

            return(assemblies);
        }
        public override ICollection <Assembly> GetAssemblies()
        {
            var baseAssemblies = base.GetAssemblies();
            var assemblies     = new List <Assembly>(baseAssemblies);

            try
            {
                var items = FrapidApiController.GetMembers();

                foreach (var item in items)
                {
                    baseAssemblies.Add(item);
                }
            }
            catch (ReflectionTypeLoadException ex)
            {
                foreach (var exception in ex.LoaderExceptions)
                {
                    Log.Error("Could not load assemblies containing Frapid Web API. Exception: {Exception}", exception);
                }
            }

            return(assemblies);
        }