با سلام و خسته نباشید
چندتا سوال داشتم اگه امکانش هست پاسخ دهید:
1- جهت کش کردن بخش های صفحات، چگونه تشخیص دهیم که چه قسمتهایی را بایستی کش کنیم؟
2- آیا جهت کش کردن می بایستی اون بخش رو در یک Action جداگانه نوشت و بمراتب PartialView آنرا Render کرد؟
یعنی اینکه یه Action به فرم زیر بنویسیم
[HttpGet]
[OutputCache(Duration = 86400, VaryByParam = "none")]
public ActionResult MenuBottom()
{
return PartialView("_MenuBottomPartial");
}
و همچنین کد زیر را داخل یه PartiaView ذخیره کنیم
کد HTML:
<div id="footer">
<div id="footer_menu">
@Html.ActionLink("صفحه اصلی", "Index", "Home") |
@Html.ActionLink("قوانین", "Index", "Home") |
@Html.ActionLink("تبلیغات", "Index", "Home") |
@Html.ActionLink("خدمات", "Index", "Home") |
@Html.ActionLink("ارتباط با ما", "Index", "Home") |
@Html.ActionLink("راهنما", "Index", "Home")
</div>
<div id="BottomNote">کلیه محتوای اتوسط کاربران درج شده است هیچ مسئولیتی نسبت به آنها ندارد.</div>
<div id="copyrights">© @DateTime.Now.Year</div>
</div>
و در _Layout بشکل زیر Render کنیم
کد HTML:
@{Html.RenderAction("MenuBottom", "Home");}
3- در اینصورت بنظرم کش کردن مثال بالا بهینه نیست!!
چون باعث میشه 2 بار سازنده کلاس فرآخوانی بشه. از طرفی اگه از db استفاده کرده باشیم 2بار سازنده dbContext فرآخوانی خواهد شد
متشکرم از راهنمایی هاتون