using System; using System.Web.Routing; namespace Umbraco.Web { public static class RouteDataExtensions { /// /// Tries to get the Umbraco context from the DataTokens /// /// /// /// /// This is useful when working on async threads since the UmbracoContext is not copied over explicitly /// public static UmbracoContext GetUmbracoContext(this RouteData routeData) { if (routeData == null) throw new ArgumentNullException("routeData"); if (routeData.DataTokens.ContainsKey(Core.Constants.Web.UmbracoContextDataToken)) { var umbCtx = routeData.DataTokens[Core.Constants.Web.UmbracoContextDataToken] as UmbracoContext; return umbCtx; } return null; } } }