2009-02-25 11 views
3

ASP。ネット&のSessionState

パブリッククラスMvcHandler:IHTTPハンドラ、IRequiresSessionState

なぜそれがのSessionStateを必要とするのか? MVCがRESTfulな何かをしようとしていませんか?

MVCでセッション状態を使用する理由は、いくつかのデータを転送するためです(この用語は覚えていませんが、セッション状態は他の媒体で置き換えることができます)。私は本当の質問は:

私はMVCアプリケーションを記述し、セッション状態を完全にオフにするオプションを指定できないのですか?

答えて

3

TempDataのために必要です。 TempDataはViewDataと似ていますが、一度ビューと背面に表示される点が異なります。これを達成するには、クッキーが必要です。

ダミーオブジェクトを作成して回避する方法がありますが、私はちょっと覚えていません。

これは、Kiggのおかげです。

public class EmptyTempDataProvider : ITempDataProvider 
{ 
    public IDictionary<string, object> LoadTempData(ControllerContext controllerContext) 
    { 
     return new Dictionary<string, object>(); 
    } 

    public void SaveTempData(ControllerContext controllerContext, IDictionary<string, object> values) 
    { 
    } 
} 

次に、他のコントローラを作成するときに、ベースコントローラを作成してそれから派生させる必要があります。

protected BaseController() 
{ 
    TempDataProvider = new EmptyTempDataProvider(); 
} 

セッション状態を無効にする必要があります。

関連する問題