لا تعمل ذاكرة التخزين المؤقت للاستجابة على الطريقة التالية التي تُعيد عرضًا يحتوي على عنصر نموذج. إذا تمت إزالة عنصر النموذج من العرض ، فستعمل ذاكرة التخزين المؤقت للاستجابة. لماذا يحدث
""
[المسار ("جهة الاتصال")]
[ResponseCache (Duration = 3600)] // لا يعمل لهذه الطريقة
عام IActionResult جهة اتصال ()
{
عودة عرض () ؛
}
[HttpPost]
[Route("Contact")]
public IActionResult Contact(ContactViewModel contactViewModel, IFormFile attachment)
{
//Necessary opertaion goes here
return
View(contactViewModel);
}
""
انظر إلى رؤوس الاستجابة. هل يحدث هذا بسبب تمكين ميزة مكافحة التزوير في النموذج والتي تعين دائمًا رؤوس no-cache؟
Tratcher نعم! تم تمكين مكافحة التزوير وهذا هو السبب في أن ذاكرة التخزين المؤقت للرد لا تعمل .. سؤالي هو لماذا لا تعمل ذاكرة التخزين المؤقت للرد عند تمكين مكافحة التزوير؟
يتم إرفاق رمز مكافحة التزوير في النموذج بملف تعريف ارتباط ولا يجب تخزين أي منهما مؤقتًا وإلا فقد يخرجان عن المزامنة.
التعليق الأكثر فائدة
يتم إرفاق رمز مكافحة التزوير في النموذج بملف تعريف ارتباط ولا يجب تخزين أي منهما مؤقتًا وإلا فقد يخرجان عن المزامنة.