Wily_Fox
سه شنبه 15 مرداد 1392, 15:26 عصر
با سلام و خسته نباشید
چندتا سوال داشتم اگه امکانش هست پاسخ دهید:
1- جهت کش کردن بخش های صفحات، چگونه تشخیص دهیم که چه قسمتهایی را بایستی کش کنیم؟
2- آیا جهت کش کردن می بایستی اون بخش رو در یک Action جداگانه نوشت و بمراتب PartialView آنرا Render کرد؟
یعنی اینکه یه Action به فرم زیر بنویسیم
[HttpGet]
[OutputCache(Duration = 86400, VaryByParam = "none")]
public ActionResult MenuBottom()
{
return PartialView("_MenuBottomPartial");
}
و همچنین کد زیر را داخل یه PartiaView ذخیره کنیم
<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.RenderAction("MenuBottom", "Home");}
3- در اینصورت بنظرم کش کردن مثال بالا بهینه نیست!!
چون باعث میشه 2 بار سازنده کلاس فرآخوانی بشه. از طرفی اگه از db استفاده کرده باشیم 2بار سازنده dbContext فرآخوانی خواهد شد
متشکرم از راهنمایی هاتون
چندتا سوال داشتم اگه امکانش هست پاسخ دهید:
1- جهت کش کردن بخش های صفحات، چگونه تشخیص دهیم که چه قسمتهایی را بایستی کش کنیم؟
2- آیا جهت کش کردن می بایستی اون بخش رو در یک Action جداگانه نوشت و بمراتب PartialView آنرا Render کرد؟
یعنی اینکه یه Action به فرم زیر بنویسیم
[HttpGet]
[OutputCache(Duration = 86400, VaryByParam = "none")]
public ActionResult MenuBottom()
{
return PartialView("_MenuBottomPartial");
}
و همچنین کد زیر را داخل یه PartiaView ذخیره کنیم
<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.RenderAction("MenuBottom", "Home");}
3- در اینصورت بنظرم کش کردن مثال بالا بهینه نیست!!
چون باعث میشه 2 بار سازنده کلاس فرآخوانی بشه. از طرفی اگه از db استفاده کرده باشیم 2بار سازنده dbContext فرآخوانی خواهد شد
متشکرم از راهنمایی هاتون