private static SessionStateBehavior?GetSessionStateBehavior(WebPageExecutingBase page, ConcurrentDictionary <Type, SessionStateBehavior?> cache) { return(cache.GetOrAdd(page.GetType(), type => { SessionStateBehavior sessionStateBehavior = SessionStateBehavior.Default; var attributes = (RazorDirectiveAttribute[])type.GetCustomAttributes(typeof(RazorDirectiveAttribute), inherit: false); var directiveAttributes = attributes.Where(attr => StringComparer.OrdinalIgnoreCase.Equals("sessionstate", attr.Name)) .ToList(); if (!directiveAttributes.Any()) { return null; } if (directiveAttributes.Count > 1) { throw new InvalidOperationException(WebPageResources.SessionState_TooManyValues); } var directiveAttribute = directiveAttributes[0]; if (!Enum.TryParse <SessionStateBehavior>(directiveAttribute.Value, ignoreCase: true, result: out sessionStateBehavior)) { var values = Enum.GetValues(typeof(SessionStateBehavior)).Cast <SessionStateBehavior>().Select(s => s.ToString()); throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, WebPageResources.SessionState_InvalidValue, directiveAttribute.Value, page.VirtualPath, String.Join(", ", values))); } return sessionStateBehavior; })); }
/// <summary> /// Require use of writable session state. /// </summary> /// <param name="request">The HTTP request.</param> /// <param name="stateBehavior">Session state behavior to use</param> public static void SetSessionStateBehavior(this IHttpRequest request, SessionStateBehavior stateBehavior) { if (stateBehavior != SessionStateBehavior.Default) { request.SetHeader(ArasHeaders.SessionStateBehaviorHeader, ArasHeaders.SessionStateBehaviorToString(stateBehavior)); } }
public RouteHandler(IWorkContextAccessor workContextAccessor, IRouteHandler routeHandler, SessionStateBehavior sessionStateBehavior, Func <IDictionary <string, object>, Task> pipeline) { _workContextAccessor = workContextAccessor; _routeHandler = routeHandler; _sessionStateBehavior = sessionStateBehavior; _pipeline = pipeline; }
public AspNetMvcControllerFactory(IKernel kernel, bool autoCreateLifestyleScopes, SessionStateBehavior sessionStateBehaviour, List <Assembly> controllerAssemblies) { this.kernel = kernel; this.sessionStateBehaviour = sessionStateBehaviour; this.autoCreateLifestyleScopes = autoCreateLifestyleScopes; this.controllerCandidateTypes = controllerAssemblies.SelectMany(x => x.ExportedTypes).ToList(); }
/// <summary></summary> public SessionStateBehavior GetControllerSessionBehavior(RequestContext requestContext, string controllerName) { SessionStateBehavior state = _inner.GetControllerSessionBehavior(requestContext, controllerName); if (state != SessionStateBehavior.Default) { return(state); } return(DefalutBehavior); }
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults, object constraints, SessionStateBehavior sessionBehavior, UserSessionRole[] requiredRoles) { var route = routes.CreateRoute(routeTemplate, defaults, constraints); route.SetSessionStateBehavior(sessionBehavior); route.SetRequiredSessionRoles(requiredRoles); routes.Add(name, route); return(route); }
public void GetControllerSessionBehaviorReturnsDefaultForNullControllerType() { // Arrange var factory = new DefaultControllerFactory(); // Act SessionStateBehavior result = factory.GetControllerSessionBehavior(null, null); // Assert Assert.Equal(SessionStateBehavior.Default, result); }
public void GetControllerSessionBehaviorReturnsDefaultForControllerWithoutAttribute() { // Arrange var factory = new DefaultControllerFactory(); // Act SessionStateBehavior result = factory.GetControllerSessionBehavior(null, typeof(object)); // Assert Assert.Equal(SessionStateBehavior.Default, result); }
public void GetControllerSessionBehaviorReturnsAttributeValueFromController() { // Arrange var factory = new DefaultControllerFactory(); // Act SessionStateBehavior result = factory.GetControllerSessionBehavior(null, typeof(MyReadOnlyController)); // Assert Assert.Equal(SessionStateBehavior.ReadOnly, result); }
public IEnumerable <RouteDescriptor> GetRoutes() { var displayPathsPerArea = _blueprint.Controllers.GroupBy( x => x.AreaName, x => x.Feature.Descriptor.Extension); foreach (var item in displayPathsPerArea) { var areaName = item.Key; var extensionDescriptor = item.Distinct().Single(); var displayPath = extensionDescriptor.Path; SessionStateBehavior defaultSessionState = SessionStateBehavior.Default; //Enum.TryParse(extensionDescriptor.SessionState, true /*ignoreCase*/, out defaultSessionState); yield return(new RouteDescriptor { Priority = -10, SessionState = defaultSessionState, Route = new Route( "Admin/" + displayPath + "/{action}/{id}", new RouteValueDictionary { { "area", areaName }, { "controller", "admin" }, { "action", "index" }, { "id", "" } }, new RouteValueDictionary(), new RouteValueDictionary { { "area", areaName } }, new MvcRouteHandler()) }); yield return(new RouteDescriptor { Priority = -10, SessionState = defaultSessionState, Route = new Route( displayPath + "/{controller}/{action}/{id}", new RouteValueDictionary { { "area", areaName }, { "controller", "home" }, { "action", "index" }, { "id", "" } }, new RouteValueDictionary(), new RouteValueDictionary { { "area", areaName } }, new MvcRouteHandler()) }); } }
internal static string SessionStateBehaviorToString(SessionStateBehavior behavior) { switch (behavior) { case Client.SessionStateBehavior.ReadOnly: return("readonly"); case Client.SessionStateBehavior.SwitchToInitial: return("switch_to_initial"); case Client.SessionStateBehavior.Writeable: return("required"); } return("undefined"); }
public SessionStateBehavior GetControllerSessionBehavior(System.Web.Routing.RequestContext requestContext, string controllerName) { SessionStateBehavior SSB = SessionStateBehavior.Default; switch (controllerName.ToLower()) { case "sessionless": SSB = SessionStateBehavior.Disabled; break; default: SSB = SessionStateBehavior.Default; break; } return(SSB); }
public SessionStateBehavior GetControllerSessionBehavior(RequestContext requestContext, string controllerName) { SessionStateBehavior state = new SessionStateBehavior(); return state; }
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults, SessionStateBehavior behavior) { return(MapHttpRoute(routes, name, routeTemplate, defaults, null, behavior)); }
public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { _httpContext.SetSessionStateBehavior(sessionStateBehavior); }
public RouteHandler(IWorkContextAccessor workContextAccessor, IRouteHandler routeHandler, SessionStateBehavior sessionStateBehavior) { _workContextAccessor = workContextAccessor; _routeHandler = routeHandler; _sessionStateBehavior = sessionStateBehavior; }
public RouteHandler(IWorkContextAccessor workContextAccessor, IRouteHandler routeHandler, SessionStateBehavior sessionStateBehavior, Func<IDictionary<string, object>, Task> pipeline) { _workContextAccessor = workContextAccessor; _routeHandler = routeHandler; _sessionStateBehavior = sessionStateBehavior; _pipeline = pipeline; }
public SessionStateAttribute(SessionStateBehavior behavior) { Behavior = behavior; }
public ActionSessionStateAttribute(SessionStateBehavior behavior) { this.Behavior = behavior; }
public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { throw new NotSupportedException(NotSupportedMessage); }
public void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { httpContext.SetSessionStateBehavior(sessionStateBehavior); }
// Saves the specified session state behavior in the route's DataTokens dictionary. private static void SetSessionStateBehavior(this IHttpRoute route, SessionStateBehavior behavior) { route.DataTokens["SessionStateBehavior"] = behavior; }
public virtual void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { throw new NotImplementedException(); }
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults, SessionStateBehavior sessionBehavior, UserSessionRole[] requiredRoles) { return(MapHttpRoute(routes, name, routeTemplate, defaults, null, sessionBehavior, requiredRoles)); }
public void GetRoutes(ICollection <RouteDescriptor> routes, string areaName) { var displayPathsPerArea = new List <string>() { areaName }; //foreach (var item in displayPathsPerArea) //{ // var areaNameTmp = item; var extensionDescriptors = displayPathsPerArea.Distinct(); var displayPaths = new System.Collections.Generic.HashSet <string>(); foreach (var extensionDescriptor in extensionDescriptors) { var displayPath = extensionDescriptor; if (!displayPaths.Contains(displayPath)) { displayPaths.Add(displayPath); SessionStateBehavior defaultSessionState = SessionStateBehavior.Default; // Enum.TryParse(extensionDescriptor.SessionState, true /*ignoreCase*/, out defaultSessionState); //routes.Add(new RouteDescriptor //{ // Priority = -10, // SessionState = defaultSessionState, // Route = new System.Web.Routing.Route( // "Admin/" + displayPath + "/{action}/{id}", // new RouteValueDictionary { // {"area", areaName}, // {"controller", "admin"}, // {"action", "index"}, // {"id", ""} // }, // new RouteValueDictionary(), // new RouteValueDictionary { // {"area", areaName} // }, // new MvcRouteHandler()) //}); routes.Add(new RouteDescriptor { Name = areaName + "Route", Priority = -10, SessionState = defaultSessionState, Route = new System.Web.Routing.Route( displayPath + "/{controller}/{action}/{id}", new RouteValueDictionary { { "area", areaName }, { "controller", "home" }, { "action", "index" }, { "id", "" } }, new RouteValueDictionary(), new RouteValueDictionary { { "area", areaName } }, new MvcRouteHandler()) }); } } //} }
public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { //TODO Missing SetSessionStateBehavior for HttpListenerContext }
public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { this._context.SetSessionStateBehavior(sessionStateBehavior); }
public void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { if (_notificationContext != null && _notificationContext.CurrentNotification >= RequestNotification.AcquireRequestState) { throw new InvalidOperationException(SR.GetString(SR.Invoke_before_pipeline_event, "HttpContext.SetSessionStateBehavior", "HttpApplication.AcquireRequestState")); } SessionStateBehavior = sessionStateBehavior; }
/// <summary> /// Sets the type of session state behavior that is required to support an HTTP request. /// </summary> /// <param name="sessionStateBehavior">One of the enumeration values that specifies what type of session state behavior is required.</param> public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { this.SessionStateBehavior = sessionStateBehavior; }
public SessionForWebApi(string apiUrl, string sessionStateMode) { _apiUrl = apiUrl; _sessionStateBehavior = GetBehavior(sessionStateMode.ToLower()); }
public void SetSessionStateBehavior (SessionStateBehavior sessionStateBehavior) { SessionStateBehavior = sessionStateBehavior; }
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults, object constraints, SessionStateBehavior behavior) { var route = routes.CreateRoute(routeTemplate, defaults, constraints); SetSessionStateBehavior(route, behavior); routes.Add(name, route); return(route); }
/// <summary> /// Initializes a new instance of the <see cref="StorefrontSessionStateAttribute"/> class. /// </summary> /// <param name="behavior">The behavior.</param> public StorefrontSessionStateAttribute(SessionStateBehavior behavior) { this.Behavior = behavior; }
public virtual void SetSessionStateBehavior (SessionStateBehavior sessionStateBehavior) { NotImplemented (); }
public void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { SessionStateBehavior = sessionStateBehavior; }
public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { }
public override void SetSessionStateBehavior(SessionStateBehavior sessionStateBehavior) { _inner.SetSessionStateBehavior(sessionStateBehavior); }
public void SetSessionStateBehaviour(SessionStateBehavior sessionState) { this.sessionStateBehaviour = sessionState; }