Как мне сообщить промежуточному программному обеспечению MVC, что мой класс является контроллером в ASP. NET Core? - PullRequest
1 голос
/ 05 мая 2020

Как мне сообщить промежуточному программному обеспечению MVC, что мой класс является Контроллером в ASP. NET Core?

Согласно книге ASP.NET Core in Action:

Контроллеры - это обычные классы, хотя они часто наследуются от базового класса Controller, чтобы обеспечить доступ к ряду вспомогательных методов, как показано в следующем листинге.

Я думал, что мы сообщаем MVC что наш класс является контроллером, унаследовав от класса Controller. Но теперь я вижу, что ошибался и наследование класса Controller необязательно.

Это означает, что есть что-то еще, что заставляет промежуточное ПО MVC рассматривать классы как контроллеры, а их методы - как методы действий и , следовательно, заставляет ПО промежуточного слоя MVC проверять соответствующие классы и методы по пути входящего запроса. Но не могу понять или найти по инте rnet что это.

1 Ответ

2 голосов
/ 05 мая 2020

Думаю, это вполне возможно. Вам не нужно наследовать от Controller или ControllerBase. Например, вы можете просто сделать это:

public class ProductController{}

Ключ здесь к суффиксу Controller .

Или вы можете использовать ControllerAttribute. Примерно так:

[Controller]
public class Product{}

Есть и другие способы добиться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...