MVC: для этого объекта не определен конструктор без параметров - PullRequest
0 голосов
/ 07 мая 2019

Ошибка сервера в «/» приложении.Для этого объекта не определен конструктор без параметров. Как решить эту проблему?Я создал одну папку в этом созданном интерфейсе ICompanyService и класс CompanyService.

Контроллер:

         public class HomeController : Controller
         {
               private ICompanyService icompanyService;
               public HomeController(ICompanyService icompanyService)
              {
                 this.icompanyService = icompanyService;
               }
                public ActionResult Index()
              {     
                 ViewBag.CompanyName = this.icompanyService.GetCompany();
                return View();
              }
         }

ICompanyService:

                 public interface ICompanyService
                {
                 string GetCompany();
                }

CompanyService:

                   public class CompanyService
                   {
                      public string GetCompany()
                     {
                         return "Msc";
                     }
                 }

Ответы [ 3 ]

0 голосов
/ 07 мая 2019

Вам необходимо включить конструктор ниже для вашего контроллера,

        public HomeController() : this(new CompanyService())
            {
            }

Таким образом, весь ваш код контроллера выглядит следующим образом:

    public class HomeController : Controller
{
    private ICompanyService icompanyService;

    public HomeController() : this(new CompanyService())
    {
    }
    public HomeController(ICompanyService icompanyService)
    {
        this.icompanyService = icompanyService;
    }
    public ActionResult Index()
    {
        ViewBag.CompanyName = this.icompanyService.GetCompany();

        return View();
    }
}

Это решит вашу проблему.

Удачного кодирования !!!!!

0 голосов
/ 07 мая 2019

@ ravi, пожалуйста, используйте внедрение зависимостей, так что сервис автоматически инициализирует ваш конструктор сервиса без определенной логики конструктора, дескриптор внедрения зависимости и инициализирует ваш сервисный объект.не беспокойтесь об инициализации.

ниже я упомянул ссылку для IoC и надеюсь, что ваша проблема скоро решится.https://github.com/quozd/awesome-dotnet/blob/master/README.md#ioc

0 голосов
/ 07 мая 2019

Класс CompanyService должен наследоваться от интерфейса ICompanyService.Пожалуйста, изучите информацию о внедрении зависимостей в .NET.

 public class CompanyService : ICompanyService
                   {
                      public string GetCompany()
                     {
                         return "Msc";
                     }
                   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...