ورود

View Full Version : نادیده گرفتن سازنده باپارامتر در کنترلر



raha raad
یک شنبه 23 مهر 1396, 14:43 عصر
با سلام و ادب.

146757

لازم به ذکر است که چندین بار ارتباطات بین قسمتهای مختلف را چک کردم یا روی پروژه ای که درست کار می کرد امتحان کردم( وقتی اضافه تر از آن موجودیتهایی که قبلا بوده و پروژه درست کار می کرده، موجودیت جدیدی را اضافه می کنم و حالا کلاسها و ارتباطات مربوط به معماری سه لایه ی اون)، در قسمتی که Viewbag را مقداردهی می کنم با مشکل زیر مواجه می شم.
146758
با دیباگ کردن فهمیدم که درواقع اصلا وارد بدنه سازنده با پارامتر نمی شه و به پیشنهاد خودش، یه سازنده بدون پارامتر تعریف کردم که مسلم و بدیهیه که هیچ تاثیری در رفع خطا نداشت. خواهش می کنم راهنماییم کنید خیلی وقته درگیرشم..:ناراحت::افسرده::گر ه:

Moien Tajik
یک شنبه 23 مهر 1396, 16:31 عصر
شما دارید از Constructor Injection استفاده میکنید.
از چه IOC Container ای برای Dependency Injection استفاده میکنید ؟

raha raad
دوشنبه 24 مهر 1396, 10:32 صبح
از Autofac استفاده می کنم.
یکسری سرچ هم کردم و آدرس زیر رو پیدا کردم که مشکلش مشابه مشکل فعلی منه. اما راه حل ارائه شده رو امتحان کردم اما باعث رفع مشکل نشد!!!

https://stackoverflow.com/questions/38362773/mvc-controller-wants-empty-contructor-but-then-interface-is-not-used-and-throws

hakim22
دوشنبه 24 مهر 1396, 10:33 صبح
اگر IoC Container به درستی تنظیم شده باشه وارد سازنده میشه. نیازی به تعریف سازنده نیست.
برای تست و بررسی مشکل می توانید به صورت دستی در سازنده ی کلاس menuService را نمونه سازی کنید .

raha raad
دوشنبه 24 مهر 1396, 12:42 عصر
برای تست و بررسی مشکل می توانید به صورت دستی در سازنده ی کلاس menuService را نمونه سازی کنید .

میشه لطف کنید مثال بزنید؟ منظورتون رو درست متوجه نشدم!

ali_md110
دوشنبه 24 مهر 1396, 13:14 عصر
اگر اینترفیس شما IMenuService باشه و کلاس پیاده سازی کنندش MenuService باشه
بدینصورت بصورت دستی وهله سازی کنید


private readonly IMenuService _menuService
_menuService= new MenuService()
;