このコードを使用して、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. 処理速度を下げるために、このコードを別の方法に変更できますか?
ありがとう。