0

すべてのWebサイトの値を保存する必要があります。たとえば、ViewDataのようにサーバー側のグローバル変数に値を保存する方法はありますか、それともCookieに保存する方がよいでしょうか。

このデータはドロップダウンリストを使用して設定され、コントローラーにキャッシュされます。

ありがとう。

4

4 に答える 4

5

Global.asaxページ

void Application_Start(object sender, EventArgs e)
{
    // set your variable here
    Application["myVar"] = "some value";
}

アクションの中

public ActionResult MyAction()
{
    // get value
    string value = Application["myValue"].ToString();

    // change value
    Application["myValue"] = "some NEW value";

}
于 2012-09-11T08:38:54.943 に答える
4

アプリケーション状態で保存できます。

public ActionResult Foo()
{
    HttpContext.Application["someKey"] = "some value";
    ...
}

その後、それから読みます:

string value = (string)HttpContext.Application["someKey"];

アプリケーション状態に保存された値は、Webサイトのすべてのユーザー間で共有されます。

ユーザー固有のデータを保存する必要がある場合は、機密データであるかどうかに応じて、セッションまたはCookieを使用できます。

于 2012-09-11T08:32:49.623 に答える
4

値を変更したい場合はセッションが最適です。値が静的であり、アプリケーションがデータをロードする前にわかっている場合は、Web.configに保存して、そこから参照できます。

そのような:

<appSettings>
   <add key="MyStaticItem" value="Lulz" />
</appSettings>

したがって、その文字列を取得したい場合は、次のことができます。

Meh = ConfigurationManager.AppSettings["MyStaticItem"] 

MehだろうLulz

于 2012-09-11T08:35:35.380 に答える
3

次のようなセッションも使用できます。

Session["MyKey"] = "MyValue";

次のように取得します。

var myVar = (string)Session["MyKey"];

それがユーザーごとの値である場合。

これがお役に立てば幸いです。

于 2012-09-12T01:26:02.140 に答える