ASP.NET MVC التخزين المؤقت تختلف من المعلمة عمل تحكم

StackOverflow https://stackoverflow.com/questions/361301

سؤال

هل هناك أي طريقة يمكن أن تختلف التخزين المؤقت من قبل معلمة عمل تحكم استخدام في outputcache السمة؟ لدينا varybyparam التي لن تعمل إذا هي جزء لا يتجزأ المعلمات بلدي داخل URL بطريقة بقية.

هل كانت مفيدة؟

المحلول

والتخزين المؤقت يعمل بهذه الطريقة افتراضيا. عناوين مختلفة تعطي مواقع مخبأ مختلفة. ربما هناك شيء مفقود من سؤالك، ولكن، وكما ذكر، وأنها تعمل بالفعل بهذه الطريقة.

نصائح أخرى

وه أيضا مهمة لتحقيق في طريقة العمل أن 'VaryByParam' لا تعني 'فاري من قبل المعلمات يتم تمريرها إلى أن طريقة العمل ". وهو ما يعني "تختلف من المعلمات التي تم تمريرها إلى أن طريقة العمل التي تنشأ كمعلمات HTTP.

[OutputCache(CacheProfile = "ContentPage", VaryByParam = "mode")]
public ActionResult Index(string key, string mode)
{

}

ودعونا نقول الطريق لهذا الأسلوب العمل هو:

  routes.MapRoute(
   "video-route-short",
   "video/{key}",
   new { controller = "Video", action = "Index", key = (string)null }
  );

وكما يقول كريج أعلاه، المعلمة الأساسية هي جزء من URL وبالتالي التخزين المؤقت لا تنطبق عليه - لذلك هي في الأساس المخزنة مؤقتا دائما.

والمعلمة الوضع الذي سيتم إرسالها عبر "?mode=1 'نوع ينطبق على التخزين المؤقت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top