ASP.NET MVC в сочетании с веб-API или ..... Nancyfx? - PullRequest
0 голосов
/ 20 января 2019

Я никогда не использовал традиционный ASP.NET MVC и начинал с Nancyfx. Я подумываю о переходе на ASP.NET MVC + Web API, но у меня есть несколько общих вопросов.

Я думаю, что, возможно, я был испорчен Nancyfx, но у меня есть некоторые реальные проблемы и проблемы с ним, поэтому я не уверен в этом для своего переписывания. Основная проблема - время загрузки. Я понимаю, что он компилирует Razor при первой загрузке, что увеличивает время загрузки, но есть ошибки, которые приводят к тому, что он не работает (известные проблемы). Я реализовал обходной путь, но я прочитал, что ASP.NET MVC может выполнить предварительную компиляцию, чтобы избежать этой ситуации (Nancyfx не может).

Проводя некоторые исследования с ASP.NET MVC + Web API, кажется, что Web API предназначен для конечных точек отдыха, а ASP.NET MVC предназначен для обслуживания страниц. Как вы знаете, Nancyfx объединяет эти две технологии в одну, что действительно приятно. Правильно ли я по этому поводу или есть ли способ заставить ASP.NET MVC обслуживать страницы Razor и обрабатывать запросы JSON / XML в зависимости от типа запроса?

Я не очень хочу использовать ядро ​​ASP.NET, если честно, потому что мое приложение тесно интегрируется с Active Directory, Microsoft Exchange и другими приложениями Windows, которых нет на других платформах. Кто-то, желающий развернуть его на сервере Linux, является своего рода бессмысленным IMO для того, что я делаю.

1 Ответ

0 голосов
/ 20 января 2019

Проще говоря, ASP.NET MVC предлагает вам два базовых класса контроллера: Контроллер и ApiController . Вы наследуете от Controller класса, если вы хотите создать действия контроллера на основе представления, и вы наследуете от ApiController , если вы хотите создать действия API. С другой стороны, в ASP.NET Core вы можете использовать ту же инфраструктуру контроллера для предоставления представлений, а также API REST. Вы всегда можете объединить .NET Framework и ASP.NET Core. Однако решение .NET + ASP.NET Core работает только в Windows, с которой у вас, по-видимому, нет проблем.

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