تزریق وابستگی در فیلتر ها
با سلام
در مورد "تزریق وابستگی در فیلتر ها" مقاله ای با این عنوان هست و توضیحات کامل داده
متاسفانه وقتی که موارد ذکر شده رو انجام میدم، با خطای زیر روبرو میشم:
'DI06.CustomFilters.LogAttribute' does not contain a constructor that takes 0 arguments
مقاله های دیگه رو هم بررسی کردم ولی باز همین مشکل رو داره، چون تزریق از طریق سازندست وقت فیلتر رو به صورت [Log] استفاده می کنم پیغام خطای زمان کامپایل رو میده
چطور میتونم مشکل ایجاد شده رو رفع کنم؟
[Log]
public ActionResult Index()
{
return View();
}
public class LogAttribute : ActionFilterAttribute
{
private readonly IContainer _container;
public LogAttribute(IContainer container)
{
_container = container;
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
_container.GetInstance<ILogActionService>().Log(". .....data......");
//LogActionService.Log("......data......");
base.OnActionExecuted(filterContext);
}
}
و ....
با تشکر
نقل قول: تزریق وابستگی در فیلتر ها
برای فیلترها بهتره از Property Injection بجای Constructor Injection استفاده کنید. اینجوری خطای Construtor نمیگیرید.
نقل قول: تزریق وابستگی در فیلتر ها
به آخرين سورس ارسال شدهي آن مقاله در GitHub مراجعه كنيد.
نقل قول: تزریق وابستگی در فیلتر ها
نقل قول:
نوشته شده توسط
anubis_ir
به آخرين سورس ارسال شدهي آن مقاله در GitHub مراجعه كنيد.
مسال ذکر شده نیز بررسی شد، خطای مربوطه وجود دارد
درکنترلر Home خط 31 [Log] را از حالت کامنت خارج کنید، خطای مذکور قابل مشاهده می باشد
نقل قول: تزریق وابستگی در فیلتر ها
نقل قول:
نوشته شده توسط
hakim22
برای فیلترها بهتره از Property Injection بجای Constructor Injection استفاده کنید. اینجوری خطای Construtor نمیگیرید.
در حالت Property Injection و در صورت کار با دیتابیس وهله سازی یک بار در طول عمر برنامه انجام میگیرد و مشکل ساز خواهد بود.
نقل قول: تزریق وابستگی در فیلتر ها
با عرض پوزش از خطایی که از جانب بنده در مطرح کردن این سوال ایجاد شد؛ مثال فوق در سورس خودش به درستی عمل میکنه.
سوال خودم رو اصلاح می کنم.
این مثال تزریق وابستگی رو به صورت سراسری تعریف کرده، به همین خاطر نیازی به گذاشتن [Log] بالای کنترلر یا کلاس نیست (در این مثال )
می خواستم ببینم که راهی هست برای تزریق وابستگی به فیلتر از طریق سازنده (نمیخوام به صورت سراسری تعریفش کنم) و به همون صورت مثلا [Log] رو رو هر اکشنی یا کنترلی که خواستم اعمال کنم؟