public static WebApiControllingCacheData Data() { var data = HttpRuntime.Cache[Key] as WebApiControllingCacheData; if (data == null) { lock (_lock) { data = HttpRuntime.Cache[Key] as WebApiControllingCacheData; if (data == null) { var settingRepository = WebApiEngineContext.Resolve <IRepository <Setting> >(); data = new WebApiControllingCacheData { ValidMinutePeriod = Convert.ToInt32(settingRepository.GetAll().Where(s => s.Name == "generalsettings.validminuteperiod").FirstOrDefault().Value), NoRequestTimestampValidation = Convert.ToBoolean(settingRepository.GetAll().Where(s => s.Name == "generalsettings.norequesttimestampvalidation").FirstOrDefault().Value), AllowEmptyMd5Hash = Convert.ToBoolean(settingRepository.GetAll().Where(s => s.Name == "generalsettings.allowemptymd5hash").FirstOrDefault().Value), LogUnauthorized = Convert.ToBoolean(settingRepository.GetAll().Where(s => s.Name == "generalsettings.logunauthorized").FirstOrDefault().Value) }; HttpRuntime.Cache.Add(Key, data, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); } } } return(data); }
public static void Register(HttpConfiguration config) { //config.MessageHandlers.Add(new ResponseFormatHandler()); config.EnableCors(); // Web API configuration and services config.Services.Replace(typeof(IExceptionLogger), new UnhandledExceptionLogger()); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); //DI setup var builder = new ContainerBuilder(); AutofacConfig.RegisterServices(builder); // Set the dependency resolver to be Autofac. var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); WebApiEngineContext.Initialize(container); // Web API routes config.MapHttpAttributeRoutes(); config.MapODataServiceRoute("ODataRoute", "odata", GenerateEntityDataModel()); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
protected virtual User GetUser(string publicKey) { User user = null; try { user = WebApiEngineContext.Resolve <IRepository <User> >().GetAll().Where(u => u.PublicKey == publicKey).FirstOrDefault(); } catch (Exception exc) { Debug.WriteLine(exc.StackTrace); Debug.WriteLine(exc.Message); } return(user); }