セッションを静的に入力するように変更したい - 多くのエラーが多数あるため、入力する文字列が嫌いです。ASP.NETで既定のセッションプロバイダーを変更する
私はどのような技術を使用していますか? ASP.NET MVC経由でEXT.NET MVC
私はweb.configを使用してそれをしようとしていましたが、問題はそれにセッションの状態を追加した後に視覚的にセッションが文字列を使用する必要があるため、キーとして。
私は、次のような列挙型でセッションを使用したい:私は文字列に変換するラッパーの列挙型を作成することができることを承知していますが、それは私にとって非常に満足のいく解決策ではありません
public enum SessionEnum{Model}
public class Bar{
void foo(){
Session[SessionEnum.Model] = "blah";
}
}
。私は私のコントローラのすべての基本クラスの静的オブジェクトを作成してなかったし、私はそれらを渡ってそれを使用することができましたが、再びページを閉じて開いた後、私はそれから値を取得することができませんでした何
public class StorageWrapper{
public object this[SessionEnum enum]{ get{return Session[enum.toString()]}; //+set
}
。どういうわけかそれらを直列化すべきだと思うけど、どうしていいか分からない。
これを行う方法はありますか?
EDIT 私のセッションは次のようになります。
[Serializable]
public abstract class DataWrapper<T> : HttpSessionStateBase
{
Dictionary<T, object> Dictionary { get; set; } = new Dictionary<T, object>();
public object this[T a]
{
get
{
try
{
return Dictionary[a];
}
catch
{
return null;
}
}
set { Dictionary[a] = value; }
}
}
[Serializable]
public class SessionWrapper : DataWrapper<SessionNames>
{}
public enum SessionNames { Model, Login, LastOpenedFile }