Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 09.05.2013
Сообщений: 16
1

Конструктор контроллера Unit of Work

07.10.2015, 18:35. Показов 1212. Ответов 2
Метки нет (Все метки)

Помогите, пожалуйста, понять, как мне связать сервисы с контроллером.
Класс лежит в отдельной библиотеке, которая добавлена в проект MVC через references.
C#
1
2
3
4
5
6
7
8
 public class TestsService:ITestService
    {
        public IUnitOfWork Database { get; set; }
        public TestsService(IUnitOfWork uow)
        {
            Database = uow;
        }
}
Проект MVC:

C#
1
2
3
4
5
6
7
8
9
10
11
 public class HomeController : Controller
    {
        TestsService testService;
       
        // GET: Home
        
        public HomeController(TestsService serv)
        {
           testService = serv;
        }
}
Я понимаю, что автоматически создается объект контроллера в MVC, но я никак не пойму, как в тот конструктор передадутся значения и откуда возьмется serv.

Почему я не могу просто написать TestsService testService = new TestsService(), если мне нужен объект для работы с классом TestsService. Вообще, в учебнике был другой пример:

C#
1
2
3
4
5
6
7
8
9
10
11
public class HomeController : Controller
    {
        ITestService testService;
       
        // GET: Home
        
        public HomeController(ITestService serv)
        {
           testService = serv;
        }
}
Но, дальше использовался Ninject для связей. Я хочу пока написать без него, так как пока еще новичок. Потому решила передавать не instance интерфейса, а класса.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2015, 18:35
Ответы с готовыми решениями:

Unit Tests для проекта с Unit Of Work
Привет. Вынужден снова обратиться за помощью. Пишу блог. Архитектура такова, что есть...

Конструктор контроллера
Добрый день, форумчане! Есть контроллер: public class HomeController : Controller { Person...

Паттерн Unit of Work
Есть паттер unit of work.Единственное обьяснение этого паттрена я нашёл как едиственную точку входа...

Паттерн singletone и unit of work
Изучаю паттерн unit of work.Чета я не сильно понял чем он отличается от singletone.И тот и тот...

2
90 / 90 / 44
Регистрация: 20.04.2008
Сообщений: 331
07.10.2015, 20:38 2
Соль в том, что Ninject и передает в контроллер некоторый объект, как правило через интерфейс, чтобы избежать сильной связанности классов HomeController и TestService. В этом случае HomeController'у достаточно знать лишь то, что объект testService, с которым он работает, реализует интерфейс ITestService
1
8 / 8 / 2
Регистрация: 19.02.2013
Сообщений: 23
12.10.2015, 07:05 3
Позволю себе дополнить ответ off-а. Раз уж говоришь, что новичок, попробую попроще. Он правильно сказал, что именно Ninject создаёт объект и передаёт его в конструктор. Если хочешь без него, тогда просто создавай новый TestService в самом HomeController (можно в конструкторе, можно сразу при определении переменной testService). Ничего там передавать не нужно... Да и откуда? Ведь ты, я подозреваю, нигде не создаёшь new HomeController() и занимаются этим внутренние механизмы самого ASP.Net MVC Framework... просто немного вдумайся)) Желаю удачи.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2015, 07:05

Пользовательский конструктор контроллера. Странная конструкция
Здравствуйте, возможно вопрос нубский, однако все равно не могу понять. Разбираю чужой код и...

Возможно ли как-то перевести unit C++ в unit delphi
Возможно ли как-то перевести unit C++ в unit delphi?

Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор
Создать класс «матрица». Данный класс должен содержать элементы типа int, определяющие число строк,...

Как выполнить редирект с одного метода контроллера в другой, без пересоздания контроллера
Я делаю в одном из методов RedirectToAction() , в результате чего, перед перенаправлением...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru