سؤال

فقط أتساءل عما إذا كان لدى أي شخص أي فكرة عن سبب تجاهل ترتيب المرشح الخاص بي ...

[AcceptVerbs(HttpVerbs.Get)]
[Compress(Order = 1)]
[EnhancedOutputCache(Order = 2, Duration = 5, VaryByParam = "true", Location = OutputCacheLocation.ServerAndClient)]
public virtual ActionResult Index()
{
    return View();
} 

public class CompressAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        base.OnResultExecuted(filterContext);
    }
}

public class EnhancedOutputCacheAttribute : OutputCacheAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        base.OnResultExecuting(filterContext);
    }
}

في هذه الحالة، يتم تشغيل المعززخاشئكاشئك قبل الضغط هو ... أريد أن يحدث الضغط أولا ولكن تشغيله الثاني ... أي أفكار لماذا

كملاحظة جانبية أنا أستخدم المعاينة ASP.NET MVC 2.0 1 ...

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

المحلول

أنت تتجاوز أجزاء مختلفة من الدورة. OnResultExecuting (onresultexecuting) في سيحدث من قبل OnResultExecuted (dategattribute).

يجب أن تحقق ولكن هذا هو المكان الذي تحتاج فيه ضغط وإخراج التخزين المؤقت للحدوث، لذلك قد لا يكون حتى خيارا للضغط قبل إخراج ذاكرة التخزين المؤقت. قد يكون هناك سبب وجيه وراء كين على هذا.

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