using System.Web; using System.Web.Http.WebHost; using System.Web.Routing; using System.Web.SessionState; namespace Umbraco.Web.WebApi { /// /// A custom WebApi route handler that enables session on the HttpContext - use with caution! /// /// /// WebApi controllers (and REST in general) shouldn't have session state enabled since it's stateless, /// enabling session state puts additional locks on requests so only use this when absolutley needed /// internal class SessionHttpControllerRouteHandler : HttpControllerRouteHandler { protected override IHttpHandler GetHttpHandler(RequestContext requestContext) { return new SessionHttpControllerHandler(requestContext.RouteData); } /// /// A custom WebApi handler that enables session on the HttpContext /// private class SessionHttpControllerHandler : HttpControllerHandler, IRequiresSessionState { public SessionHttpControllerHandler(RouteData routeData) : base(routeData) { } } } }