- <李>
李> <李>
李>
,
protected void Application_PostAuthorizeRequest () { ,,,HttpContext.Current.SetSessionStateBehavior (SessionStateBehavior.Required); }
,
,
,
,
继承两个类:
- <李>
李> <李>
李>
我们将创建两个自定义类
- <李>
李> <李>
李>
,
,
public class SessionControllerHandler :, HttpControllerHandler, IRequiresSessionState { ,,,public SessionControllerHandler (RouteData routeData) ,,,,,,,:,基地(routeData) ,,,{,} } public class SessionHttpControllerRouteHandler : HttpControllerRouteHandler { ,,,protected override IHttpHandler GetHttpHandler (RequestContext requestContext) ,,,{ ,,,,,,,return new SessionControllerHandler (requestContext.RouteData); ,,,} }
,
,
,
public static void RegisterRoutes (RouteCollection 路线) { ,,,routes.IgnoreRoute(“{资源}.axd/{* pathInfo}”); ,,,//Web API ,,,routes.MapHttpRoute ( ,,,的名字:,“DefaultApi”, ,,,routeTemplate:,“api/{控制器}/{id}”, ,,,默认值:,new {=,, id  RouteParameter.Optional } ,,,).RouteHandler =, new SessionHttpControllerRouteHandler (); ,,//MVC ,,,routes.MapRoute ( ,,,的名字:,“默认”, ,,,url:,“{控制器}/{行动}/{id}”, ,,,默认值:,new {, controller =,“家”,,action =,“指数”,id =, UrlParameter.Optional } ,,,); }
,
,
public static class WebApiConfig { ,,,public static void 注册(HttpConfiguration 配置) ,,,{ ,,,,,,,var httpControllerRouteHandler =, typeof (HttpControllerRouteHandler) .GetField (“_instance”, ,,,,,,,BindingFlags.Static |, BindingFlags.NonPublic); ,,,,,,,if (httpControllerRouteHandler !=, null) ,,,,,,,{ ,,,,,,,,,,,httpControllerRouteHandler.SetValue(空, ,,,,,,,,,,,new Lazy((),=祝辞,new SessionHttpControllerRouteHandler (), ,,,,,,,,,,,真的)); ,,,,,,,} ,,,,,,,config.Routes.MapHttpRoute ( ,,,,,,,名字:,“DefaultApi”, ,,,,,,,routeTemplate:,“api/{控制器}/{id}”, ,,,,,,,默认值:,new {=,, id  RouteParameter.Optional } ,,,,,,,); ,,,,,,,config.MapHttpAttributeRoutes (); ,,,} }
,
,
public class DiceResult { ,,,public int NewValue {组,得到,,,} ,,,public int LastValue {组,得到,,,} } public class DiceController : ApiController { ,,,public DiceResult () ,,,{ ,,,,,,,var newValue =, new 随机(). next (1,, 7); ,,,,,,,object 语境; ,,,,,,,if (Request.Properties.TryGetValue (“MS_HttpContext”, out 上下文)) ,,,,,,,{ null null null null null null null null null null null null null null null(水煮ASP。净Web API2方法论](1 - 8)添加会话状态