質問

ということかしてカテゴリの一覧のためのナビゲーションにあるwebアプリです。より選定からデータベースを作成ユーザーは、Iを追加機能を呼んでapplication_onStartのです。asaxを取得するデータ配列にコレクションで再利用します。う場合のデータは変りません-編集-非常に多くなっているかどうかをこのプレゼント?

役に立ちましたか?

解決

きのリスト項目のオブジェクトです。まし application_onStart(), は、単に呼び出する方法を読み込みデータベースやデータを読み込みのオブジェクトです。

グローバル.asax

public class Global : System.Web.HttpApplication
{
    // The key to use in the rest of the web site to retrieve the list
    public const string ListItemKey = "MyListItemKey";
    // a class to hold your actual values. This can be use with databinding
    public class NameValuePair
    { 
        public string Name{get;set;} 
        public string Value{get;set;}
        public NameValuePair(string Name, string Value)
        {
            this.Name = Name;
            this.Value = Value;
        }
    }

    protected void Application_Start(object sender, EventArgs e)
    {
        InitializeApplicationVariables();
    }


    protected void InitializeApplicationVariables()
    {
        List<NameValuePair> listItems = new List<NameValuePair>();
        // replace the following code with your data access code and fill in the collection
        listItems.Add( new NameValuePair("Item1", "1"));
        listItems.Add( new NameValuePair("Item2", "2"));
        listItems.Add( new NameValuePair("Item3", "3"));
        // load it in the application object
        Application[ListItemKey] = listItems;
    }
 }

今までのアクセスリストを実行します例えば、デフォルトです。aspxへの負荷の値DropDownList:

<asp:DropDownList runat="server" ID="ddList" DataTextField="Name" DataValueField="Value"></asp:DropDownList>

のコードの背後にファイル:

protected override void OnPreInit(EventArgs e)
{
    ddList.DataSource = Application[Global.ListItemKey];
    ddList.DataBind();
    base.OnPreInit(e);
}

他のヒント

れば変わることはありませんでしょうものである必要はありませんのデータベースです。

あなデータがとるのは、理に適っていると思います。configまたはja Enumにコードです。

取得のすべてが適応となります。いぐさのinitフェッチのみを要求データとして大切に保管してくださのキャッシュに変更します。

早期の最適化ですよねそれからさらには行っておりませんのパフォーマンスに問題お願い"静"の情報を表示するかどうかをユーザーのお気に入りの商品がきっと荷重のデータ再配列に格納しますのオブジェクトです。したいけれとバランスのメモリ使用量を最適化する

問題はせが変化するデータベースに保存情報となので更新をキャッシュされたバージョン。きょうたいてい何らかの最終変更日時のデータベースのオプションの状態をキャッシュされたデータです。そのように照会できますの最大の変化を比較します。の場合は最新情報をメールにてお届けしごキャッシュされた日そのダンプでは、してください。

用に変更します。

覚えてアプリケーションは、変数を含むことができオブジェクトです。純、インスタンスを生成でき、オブジェクトです。asaxして利用で直接コードです。

年の変数はメモリのりものク(vsと呼ぶデータベース)

例えば:

// Create and load the profile object
x_siteprofile thisprofile = new x_siteprofile(Server.MapPath(String.Concat(config.Path, "templates/")));
Application.Add("SiteProfileX", thisprofile);

私は、データのアプリケーションキャッシュ(キャッシュオブジェクトやかプリロードし、負荷での時間です。何が嬉しい、キャッシュはASP.NET 管理も含むき選択肢を消滅キャッシュを入後のファイルの変更、期間等て以降の項目は記憶のイメージがない直列化/直列化復元での利用が非常に速い。

使い方は簡単です。あるGetメソッドおよびAddメソッドのキャッシュオブジェクトを取得および項目の追加のキャッシュです。

を使用してい静的なコレクションが民間と公共の静的なプロパティには、負荷がかからデータベースです。

さらに追加することができます静たdatetimeが設定させていただくことが読み込みとお問い合わせいただいた場合で、過去の一定時間、クリアの静的集requeryます。

キャッシュは、かかるものと思われます。がデザインパターンのシングルトン.

全体としてなんなのかんする気になれまでの通知性能が劣化する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top