public void CreateServer() { var types = GetLoadedTypes(); var controllerTypes = ControllerResolver.WhereControllerType(types).ToList(); CreateServer(new HttpConfiguration(), controllerTypes); }
public void CreateServer(HttpConfiguration config, params Assembly[] assemblies) { var controllerAssemblies = new List <Assembly>(AppDomain.CurrentDomain.GetAssemblies()).Union(assemblies); var types = controllerAssemblies.SelectMany(a => a.GetTypes()).ToArray(); var controllerTypes = ControllerResolver.WhereControllerType(types).ToList(); CreateServer(config, controllerTypes); }
public void CreateServer(HttpConfiguration config, ICollection <Type> controllerTypes) { Contract.Requires(controllerTypes != null); Contract.Requires(ControllerResolver.AllAssignableToIHttpController(controllerTypes)); config.Services.Replace(typeof(IHttpControllerTypeResolver), new ControllerResolver(controllerTypes)); config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); Configuration = config; }