. NET Framework to. Net Передача основного набора навыков - PullRequest
1 голос
/ 15 января 2020

При настройке базового веб-приложения. NET доступны два варианта:

API : шаблон проекта для создания базового приложения ASP. NET. с примером контроллера для службы RESTful HTTP. Этот шаблон также можно использовать для ASP. NET Core MVC Представления и контроллеры

Веб-приложение (Model-View-Controller) : шаблон проекта для создания ASP. NET Базовое приложение с примером ASP. NET MVC Представления и контроллеры. Этот шаблон также можно использовать для сервисов RESTful HTTP

Являются ли эти проекты идентичными при создании или есть различия?

Если нет различий, то почему такое разделение? ... просто созданы разные классы лесов?

Ответы [ 3 ]

1 голос
/ 16 января 2020
  • В . NET Framework платформа Web API была полностью отделена от платформы MVC. Один проект не может сделать оба.

  • В . NET Core , различий нет (*) Они оба используют промежуточное ПО MVC. Один проект может сделать оба.

Я полагаю, они сохранили два шаблона проекта в Visual Studio, потому что к нему привыкли NET кодеры. Но это просто изменит некоторые строки кода в Startup.cs. Вы никогда не застрянете из-за своего первоначального выбора.

(*) Единственное отличие - это действительно традиционные способы кодирования одного или другого. Например, в «традиционном» приложении контроллеры возвращают представления с HTML, а маршрут определяется в Startup.cs. В приложении «API» контроллеры будут возвращать представления в JSON по умолчанию (или XML), а маршруты основаны на атрибутах.

0 голосов
/ 15 января 2020

Начиная с ASP. NET Core 3.0, они действительно разные, и они также будут генерировать разные строительные леса. Причина этого в том, что 3.0 позволяет гораздо более детально контролировать, какие функции включены для ваших контроллеров. Одним из наиболее важных изменений является то, что поддержка представлений Razor может быть включена или отключена - в предыдущих версиях представления всегда могли отображаться с контроллера, но для контроллеров API, которые никогда не возвращают представления, это не требуется и добавляет накладные расходы. 3.0 позволяет вам выбрать, хотите ли вы поддержку Razor в ваших контроллерах или нет - шаблон «Web Application (Model-View-Controller)» использует первый через AddControllersWithViews, шаблон «API» - второй с AddControllers.

Более подробный обзор различий: https://andrewlock.net/comparing-startup-between-the-asp-net-core-3-templates/

0 голосов
/ 15 января 2020

Может быть, когда-нибудь вы захотите просто создать API для предоставления сервиса потребителю сервиса, с другой стороны, вы можете захотеть создать веб-приложение на основе MVC, в этой ситуации вы создали бэкэнд для обоих ваше приложение и услуги, которые вы хотите предоставить.

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