0


このコードを使用して、Web サイトのページビューを示すデータベースの値を読み取り、更新しました。

void Session_Start(object sender, EventArgs e)
{
    intPageView++;
    Session.Add("Online", intPageView);
    DataLayer.MainFunction.UpdateOnlineUser();
}

    public static void UpdateOnlineUser()
    {
        try
        {
            int intCount = 0;
            TaffyPetEntities db = new TaffyPetEntities();
            T_Setting t_s = db.T_Setting.SingleOrDefault(i => i.ID == 1);
            intCount = Convert.ToInt32(t_s.Page_counter);
            intCount++;
            t_s = new T_Setting();
            t_s = db.T_Setting.First(i => i.ID == 1);
            t_s.Page_counter = intCount;
            db.SaveChanges();
        }
        catch (Exception err)
        {
            DataLayer.Error.RegisterError("MainFunction.cs", err.Message);
        }
    }

ローカルシステムではすべてが良好で、実行速度も良好でしたが、Web サイトが公開されてサーバーにアップロードされると、すべてが変更されました。問題は、最初はデータ出力がなく、Web サイトの各リンクをクリックしたときに別のページを表示するのに時間がかかりすぎることです。
問題を見つけるために、VIsual Studio のパフォーマンス分析を使用しました。この分析の結果ページで、上記のコードのこの部分がプロセス全体の 70% を使用していることがわかりました
T_Setting t_s = db.T_Setting.SingleOrDefault(i => i.ID == 1);
。質問は次の
とおりです。
2. 処理速度を下げるために、このコードを別の方法に変更できますか?

ありがとう。

4

0 に答える 0