熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET MVC 4框架揭秘:ControllerFactory[2]

2022-06-13   來源: .NET編程 

  對於Default選項來說ASPNET通過映射的HttpHandler類型是否實現了相關接口來決定具體的會話狀態控制行為在SystemWebSessionState命名空間下定義了IRequiresSessionState和IRequiresSessionState接口如下面的代碼片段所示這兩個都是不具有任何成員的空接口(我們一般稱之為標記接口)而IReadOnlySessionState繼承自IRequiresSessionState如果HttpHandler實現了接口IReadOnlySessionState則意味著采用ReadOnly模式如果只實現了IRequiresSessionState則采用Required模式

  public interface IRequiresSessionState

  {}

  public interface IReadOnlySessionState : IRequiresSessionState

  {}

  具體采用何種會話狀態行為取決於當前HTTP上下文(通過HttpContext的靜態屬性Current表示)對於之前的版本我們不能對當前HTTP上下文的會話狀態行為模式進行動態的修改ASPNET 為HttpContext定義了如下一個SetSessionStateBehavior方法使我們可以自由地選擇會話狀態行為模式相同的方法同樣定義在HttpContextBase中它的子類HttpContextWrapper重寫了這個方法並在內部會調用封裝的HttpContext的同名方法

  public sealed class HttpContext : IServiceProvider IPrincipalContainer

  {

  //其他成員

  public void SetSessionStateBehavior(

  SessionStateBehavior sessionStateBehavior)

  }

  public class HttpContextBase: IServiceProvider

  {

  //其他成員

  public void SetSessionStateBehavior(

  SessionStateBehavior sessionStateBehavior)

  }

       返回目錄ASPNET MVC 框架揭秘

       編輯推薦

       ASP NET開發培訓視頻教程

       Microsoft NET框架程序設計視頻教程

       Java程序性能優化讓你的Java程序更快更穩定

       Visual C++音頻/視頻技術開發與實戰

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/16096.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.