Среда выполнения Microsoft asp net mvc 4, что это за программа и нужна ли она

Обновлено: 06.07.2024

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

В моем предыдущем примере корень домена содержит приложение, которое отвечает за управление учетной записью (вход в систему, извлечение пароля, настройка учетной записи и т. д.), однако каждое из приложений в каждом виртуальном каталоге должно знать, кто авторизовался.

Настройка файла web.config

В MVC 4 аутентификация с помощью форм должна быть настроена явно.

Чтобы гарантировать, что каждое приложение может расшифровать билет проверки подлинности в файле cookie, все они должны использовать один и тот же машинный ключ, так как по умолчанию IIS назначает каждому приложению собственные ключи шифрования и дешифрования в целях безопасности.

Не используйте приведенный выше ключ — это только пример.

Эти два параметра должны быть общими для всех приложений, находящихся в одном домене.

Создание машинного ключа

Чтобы сгенерировать машинный ключ:

Файл web.config для этого веб-приложения теперь будет содержать вновь сгенерированный ключ компьютера в разделе system.web. Скопируйте полный элемент machineKey в связанные приложения.

На главной странице сайта в IIS есть ссылка «Исследовать», позволяющая открыть Windows Explorer в папке, содержащей веб-сайт и файл web.config.

Настройка веб-сайта, использующего несколько проектов

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

Базовая настройка

Каждый из проектов должен иметь синхронизированные свойства проекта на веб-вкладке, чтобы они согласовывались друг с другом. Я выбрал номер порта для использования и продублировал его в каждом из проектов.

Корневой проект

Чтобы начать с корневого проекта (тот, который появляется в корне домена), необходимо настроить использование IIS Express.

  • В обозревателе решений щелкните проект правой кнопкой мыши и выберите в меню "Свойства", либо щелкните проект и нажмите клавиши ALT + ВВОД.
  • После появления свойств перейдите на вкладку "Интернет" и прокрутите вниз до раздела "Сервер".
  • Убедитесь, что выбран вариант «Использовать локальный веб-сервер IIS».
  • Отметьте «Использовать IIS Express», если он еще не установлен.
  • В URL-адресе проекта выберите номер порта, который вы хотите использовать в каждом из проектов. (Вы можете оставить значение по умолчанию для этого проекта, если хотите, но обратите внимание на это для других)
  • Нажмите «Создать виртуальный каталог», чтобы настроить IIS Express.

Запомните номер порта, который использовался для корневого проекта, так как он понадобится для других проектов.

Настройте первое приложение

В первом проекте приложения укажите аналогичные данные в свойствах проекта.

Единственное отличие состоит в том, что к URL-адресу проекта добавлен виртуальный каталог.

Настройка первого приложения

Настройка первого приложения

Настройте второе приложение

Это похоже на первое приложение, за исключением того, что к URL-адресу проекта добавлен другой виртуальный каталог.

Настройка второго приложения

Настройка второго приложения

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

Итак, ответственной за утилизацию является тот, кто когда-либо его создал. Однако в MVC 4 локатор служб не имеет возможности удалять нижестоящие объекты, которые создаются при создании экземпляра контроллера, он имеет дело только с контроллером напрямую, поэтому, если необходимо удалить нижестоящий объект, от которого зависит контроллер, контейнер IoC имеет управлять этим. У Майка Хэдлоу есть гораздо лучшее объяснение того, что здесь происходит, и его отношения с использованием, в частности, Castle Windsor и IDepenencyResolver.

Поскольку я использую StructureMap, у него есть способ помочь вам очиститься.

Например, в выражении Initialization, которое использует ObjectFactory.Initialize, у меня есть репозиторий, настроенный следующим образом:

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

Вы можете поместить в свой файл Global.asax.cs метод Application_EndRequest(), который вызывается в конце каждого запроса. Или, если он у вас уже есть, вы можете просто добавить в него эту строку кода.

Подготовка и запуск umbraco с помощью MVC 4

В этом посте я рассмотрю, как заставить Umbraco и MVC хорошо работать друг с другом в одном проекте.

Установка Umbraco 4.8

Сначала создайте проект веб-приложения в Visual Studio. Для этого примера я просто создам проект как «UmbMvc».

После того как Visual Studio создаст проект, удалите большую часть его содержимого. Мы делаем это, потому что у нас нет полностью пустых проектов. Если бы вы делали это в VS 2012, вы могли бы вместо этого выбрать проект пустого веб-приложения.

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

Далее необходимо установить Umbraco. Это можно сделать с помощью NuGet. Я использовал консоль диспетчера пакетов, доступ к которой можно получить из меню «Инструменты»:

Затем введите Install-Package UmbracoCms, чтобы установить пакет и его зависимости. Вывод выглядит следующим образом:

Не беспокойтесь о сообщении о web.config. Он запишет необходимые сведения в файл web.config.

Если вы предпочитаете использовать диалоговое окно NuGet, вы можете выполнить поиск «UmbracoCms» и установить пакет оттуда. Он также загрузит и установит для вас зависимости.

На этом этапе вы можете запустить Umbraco, чтобы настроить его, настроить базы данных и так далее. Когда вы закончите этот процесс, вы попадете в административную зону Umbraco. На этом этапе вы хотите остановить запуск приложения в Visual Studio.

Подключение MVC 4

На очереди установка MVC. Для этого я прислушиваюсь к советам в блоге Аарона Пауэлла, поэтому зайдите туда, чтобы узнать подробности. (Начните с раздела «Установка MVC»). Я добавил свои собственные примечания ниже для некоторых различий, которые я обнаружил между нашими впечатлениями.

Из-за того, как пути работают в Umbraco, мне нужно было либо зарезервировать каждый контроллер и имя области в элементе конфигурации umbracoReservedPaths, либо создать префикс. Я решил, что, вероятно, лучше всего создать префикс, таким образом мне нужно изменить конфигурацию только один раз, и все остальное просто работает после этого. Итак, мой класс RouteSetup выглядел так:

Обратите внимание на "x" в начале URL-адреса маршрута.

Мой элемент конфигурации umbracoReservedPaths теперь выглядит так:

Исправление файла web.config

Судя по сообщению в блоге Аарона, я все еще не мог заставить его работать. Я получил сообщение об ошибке следующего содержания: Сообщение об ошибке компилятора: CS0234: Имя типа или пространства имен «Помощники» не существует в пространстве имен «System.Web» (вам не хватает ссылки на сборку?)

Я обнаружил, что мне нужно добавить в раздел файла web.config следующее:

Это помогло, но я по-прежнему получал сообщение об ошибке. На этот раз это было сообщение об ошибке компилятора: CS0234: имя типа или пространства имен «Ajax» не существует в пространстве имен «System.Web.Mvc» (вам не хватает ссылки на сборку?)

Я обнаружил, что мне также нужно установить для ссылки на System.Web.Mvc значение «Копировать локально»

Наконец-то я этого и ожидал.

Исправление типа проекта.

И последнее, Аарон также упоминает, что вы получите различные ошибки в представлениях в Visual Studio, поскольку тип проекта был веб-приложением, а не проектом веб-приложения MVC. Хотя это не мешает приложению работать правильно, это очень неприятно видеть. Он не дает решения для этого. Чтобы решить эту проблему, вам нужно добавить GUID в файл csproj.

Для этого вам нужно щелкнуть правой кнопкой мыши веб-проект и нажать «Выгрузить проект», когда он выгрузится, снова щелкнуть правой кнопкой мыши и выбрать «Редактировать xxx.csproj».

Найдите элемент с именем «ProjectTypeGuids» и добавьте в guid: . Теперь вся строка должна выглядеть так:

Сохраните файл, затем щелкните правой кнопкой мыши проект в решении и нажмите «Обновить проект». Вам будет предложено закрыть текстовую версию файла проекта, после чего проект будет загружен обратно. Теперь у вас не должно быть никаких проблем с представлениями, обнаруживающими ложные ошибки, например невозможность разрешить ViewBag .

Примечания по установке

Документация

Поддержка

Требования к программному обеспечению

Во всей сети.config в проекте (один в корне проекта, один в папке Views и по одному в папке Views для каждой области вашего проекта), замените каждый экземпляр следующего текста:

со следующим соответствующим текстом:

В корневом файле Web.config обновите элемент webPages:Version до "2.0.0.0" и добавьте новый ключ PreserveLoginUrl со значением "true" :

В обозревателе решений удалите ссылку на System.Web.Mvc (которая указывает на библиотеку DLL версии 3). Затем добавьте ссылку на System.Web.Mvc (v4.0.0.0). В частности, внесите следующие изменения, чтобы обновить ссылки на сборки. Вот подробности:

В обозревателе решений удалите ссылки на следующие сборки:

  • System.Web.Mvc(v3.0.0.0)
  • System.Web.WebPages(v1.0.0.0)
  • System.Web.Razor(v1.0.0.0)
  • System.Web.WebPages.Deployment(v1.0.0.0)
  • System.Web.WebPages.Razor(v1.0.0.0)

Добавьте ссылки на следующие сборки:

  • System.Web.Mvc(v4.0.0.0)
  • System.Web.WebPages(v2.0.0.0)
  • System.Web.Razor(v2.0.0.0)
  • System.Web.WebPages.Deployment(v2.0.0.0)
  • System.Web.WebPages.Razor(v2.0.0.0)

В обозревателе решений щелкните правой кнопкой мыши имя проекта и выберите «Выгрузить проект». Затем снова щелкните имя правой кнопкой мыши и выберите Изменить ProjectName.csproj.

Сохраните изменения, закройте файл проекта (.csproj), который вы редактировали, щелкните проект правой кнопкой мыши и выберите "Обновить проект".

  • Набор библиотек JavaScript для расширенного локального взаимодействия с кэшированными данными.
  • Дополнительные компоненты веб-API для поддержки единиц работы и DAL
  • Шаблон проекта MVC со структурой для быстрого начала работы.

Усовершенствования стандартных шаблонов проектов

< бр />

Помимо косметических улучшений в новом шаблоне улучшена функциональность. Шаблон использует метод, называемый адаптивным рендерингом, чтобы хорошо выглядеть как в настольных браузерах, так и в мобильных браузерах без какой-либо настройки.

< бр />

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

Еще одно усовершенствование шаблона проекта по умолчанию — использование JavaScript для обеспечения более богатого пользовательского интерфейса. Ссылки «Войти» и «Регистрация», которые используются в шаблоне, являются примерами того, как использовать диалоговое окно пользовательского интерфейса jQuery для представления расширенного экрана входа:

< бр />

Шаблон мобильного проекта

Если вы начинаете новый проект и хотите создать сайт специально для браузеров мобильных устройств и планшетов, вы можете использовать новый шаблон проекта "Мобильное приложение". Это основано на jQuery Mobile, библиотеке с открытым исходным кодом для создания пользовательского интерфейса, оптимизированного для сенсорного ввода:

< бр />

Этот шаблон содержит ту же структуру приложения, что и шаблон Интернет-приложения (и код контроллера практически идентичен), но он оформлен с использованием jQuery Mobile, чтобы хорошо выглядеть и работать на мобильных устройствах с сенсорным экраном. Чтобы узнать больше о том, как структурировать и стилизовать мобильный пользовательский интерфейс, посетите веб-сайт проекта jQuery Mobile.

Если у вас уже есть сайт, ориентированный на настольные компьютеры, на который вы хотите добавить представления, оптимизированные для мобильных устройств, или если вы хотите создать отдельный сайт, на котором отображаются различные стили представлений для настольных и мобильных браузеров, вы можете использовать новые режимы отображения. характерная черта. (См. следующий раздел.)

Режимы отображения

Новая функция режимов отображения позволяет приложению выбирать представления в зависимости от браузера, отправляющего запрос. Например, если настольный браузер запрашивает домашнюю страницу, приложение может использовать шаблон Views\Home\Index.cshtml. Если мобильный браузер запрашивает домашнюю страницу, приложение может вернуть шаблон Views\Home\Index.mobile.cshtml.

Макеты и партиалы также могут быть переопределены для определенных типов браузеров. Например:

  • Если ваша папка Views\Shared содержит шаблоны _Layout.cshtml и _Layout.mobile.cshtml, по умолчанию приложение будет использовать _Layout.mobile.cshtml во время запросов от мобильных браузеров и _Layout.cshtml во время других запросов.
  • Если папка содержит файлы _MyPartial.cshtml и _MyPartial.mobile.cshtml инструкция @Html.Partial( "_MyPartial") будет отображать _MyPartial.mobile.cshtml во время запросов от мобильных браузеров и _MyPartial.cshtml во время других запросов.

Если вы хотите создать более конкретные представления, макеты или частичные представления для других устройств, вы можете зарегистрировать новый экземпляр DefaultDisplayMode, чтобы указать, какое имя следует искать, когда запрос удовлетворяет определенным условиям. Например, вы можете добавить следующий код в метод Application_Start в файле Global.asax, чтобы зарегистрировать строку «iPhone» в качестве режима отображения, который применяется, когда браузер Apple iPhone делает запрос:

После выполнения этого кода, когда браузер Apple iPhone делает запрос, ваше приложение будет использовать макет Views\Shared\_Layout.iPhone.cshtml (если он существует).

jQuery Mobile, переключатель видов и переопределение браузера

При этом устанавливается jQuery Mobile и некоторые вспомогательные файлы, в том числе следующие:

  • Views/Shared/_Layout.Mobile.cshtml — макет на основе jQuery Mobile.
  • Компонент переключения представлений, состоящий из частичного представления Views/Shared/_ViewSwitcher.cshtml и контроллера ViewSwitcherController.cs.

После установки пакета запустите приложение с помощью мобильного браузера (или эквивалентного, например надстройки Firefox User Agent Switcher). Вы увидите, что ваши страницы выглядят совершенно по-другому, потому что jQuery Mobile управляет макетом и стилем. Чтобы воспользоваться этим, вы можете сделать следующее:

  • Создайте переопределения представления для мобильных устройств, как описано ранее в разделе "Режимы отображения" (например, создайте Views\Home\Index.mobile.cshtml, чтобы переопределить Views\Home\Index.cshtml для мобильных браузеров).
  • Прочитайте документацию по jQuery Mobile, чтобы узнать больше о том, как добавлять сенсорные элементы пользовательского интерфейса в мобильные представления.

Согласие для веб-страниц, оптимизированных для мобильных устройств, заключается в добавлении ссылки с текстом, например, в режиме просмотра рабочего стола или в полноэкранном режиме, который позволяет пользователям переключаться на версию страницы для компьютера. Пакет jQuery.Mobile.MVC включает в себя образец компонента переключения представления для этой цели. Он используется в представлении Views\Shared\_Layout.Mobile.cshtml по умолчанию и выглядит следующим образом при отображении страницы:

< бр />

Если посетители нажимают на ссылку, они переключаются на настольную версию той же страницы.

Поскольку ваш макет рабочего стола по умолчанию не будет включать переключатель представления, посетители не смогут перейти в мобильный режим. Чтобы включить это, добавьте следующую ссылку на _ViewSwitcher в макет рабочего стола прямо внутри элемента:

Переключатель представлений использует новую функцию под названием "Переопределение браузера". Эта функция позволяет вашему приложению обрабатывать запросы так, как если бы они исходили из другого браузера (агента пользователя), а не из того, из которого они на самом деле. В следующей таблице перечислены методы, которые предоставляет переопределение браузера.

Рецепты генерации кода в Visual Studio

Новая функция "Рецепты" позволяет Visual Studio создавать код конкретного решения на основе пакетов, которые можно установить с помощью NuGet. Инфраструктура Recipes позволяет разработчикам легко писать плагины для генерации кода, которые вы также можете использовать для замены встроенных генераторов кода для Add Area, Add Controller и Add View. Поскольку рецепты развертываются в виде пакетов NuGet, их можно легко проверить в системе управления версиями и автоматически предоставить всем разработчикам проекта. Они также доступны для отдельных решений.

Поддержка задач для асинхронных контроллеров

Теперь вы можете писать асинхронные методы действия как отдельные методы, которые возвращают объект типа Task или Task .

В предыдущем методе действия вызовы newsService.GetHeadlinesAsync и sportsService.GetScoresAsync вызываются асинхронно и не блокируют поток из пула потоков.

Методы асинхронных действий, которые возвращают экземпляры Task, также могут поддерживать тайм-ауты. Чтобы сделать метод действия отменяемым, добавьте параметр типа CancellationToken в сигнатуру метода действия. В следующем примере показан метод асинхронного действия с тайм-аутом 2500 миллисекунд, который отображает представление TimedOut для клиента в случае тайм-аута.

Пакет SDK для Azure

Известные проблемы и критические изменения

Обходной путь — скомпилировать проект, чтобы получить сборки в папке bin. Обратите внимание: если вы очистите проект, который удалит сборки из папки bin, проблема с редактором вернется.

Это будет исправлено в следующем выпуске.

Чтобы устранить эту проблему, измените символ обратной косой черты в методе App_Start файла Global.asax.cs, чтобы он выглядел следующим образом:

Элемент привязки сборки в измененном файле web.config должен выглядеть следующим образом:

Шаблон элемента «Добавить контроллер» в проектах Visual Basic создает неправильное пространство имен при вызове из области. Когда вы добавляете контроллер в область проекта ASP.NET MVC, использующего Visual Basic, шаблон элемента вставляет в контроллер неправильное пространство имен. Результатом является ошибка «файл не найден» при переходе к любому действию в контроллере.

Созданное пространство имен опускает все после корневого пространства имен. Например, создается пространство имен RootNamespace, но должно быть RootNamespace.Areas.AreaName.Controllers .

Кризисные изменения в Razor View Engine. В рамках перезаписи синтаксического анализатора Razor из System.Web.Mvc.Razor были удалены следующие типы:

  • МоделСпан
  • MvcVBRazorCodeGenerator
  • MvcCSharpRazorCodeGenerator
  • MvcVBRazorCodeParser

Следующие методы также были удалены:

  • MvcCSharpRazorCodeParser.ParseInheritsStatement(System.Web.Razor.Parser.CodeBlockInfo)
  • MvcWebPageRazorHost.DecorateCodeGenerator(System.Web.Razor.Generator.RazorCodeGenerator)
  • MvcVBRazorCodeParser.ParseInheritsStatement(System.Web.Razor.Parser.CodeBlockInfo)

Необходимые обновления

В корневой файл Web.config добавьте новую запись с ключом webPages:Version и значением 1.0.0.0.

В обозревателе решений щелкните правой кнопкой мыши имя проекта и выберите «Выгрузить проект». Затем снова щелкните имя правой кнопкой мыши и выберите Изменить ProjectName.csproj.

Найдите следующие ссылки на сборки:

Замените их следующими:

Сохраните изменения, закройте файл проекта (.csproj), который вы редактировали, затем щелкните проект правой кнопкой мыши и выберите "Обновить".

У меня есть двухэтапный процесс, который я использую всякий раз, когда мне нужно погрузиться в проект кода, который я не создавал. Для каждого файла, папки, пакета NuGet и т. д. я изучаю рассматриваемый элемент и задаю себе следующие вопросы:

Понимаете, я удаляю. Я бы предпочел удалить весь когда-либо написанный код, потому что тогда он никогда не сломается. Но, учитывая, что я живу в реальном мире, это невозможно, поэтому я останавливаюсь на лучшей альтернативе: удаляю все, для чего не найдено оснований для существования, часто с крайним предубеждением.

Летчик пробивает машину кувалдой окно

Папки и файлы

Вот скриншот нашего проекта MVC по умолчанию, а также созданных им папок и файлов.

Папки и файлы в ASP по умолчанию Приложение .NET MVC

Давайте пройдемся по каждой из этих папок и файлов и посмотрим, сможем ли мы определить, какие из них нам действительно нужны.

Данные приложения

Новые примеры проектов часто начинаются с пустой папки App_Data. Теоретически это делается для того, чтобы в эту папку можно было помещать такие элементы, как контексты данных Entity Framework и сгенерированные модели. Однако на практике вы, скорее всего, будете перемещать эти элементы в другое место в структуре проекта, которым может быть проект .Lib или .Core. Могу ли я удалить его? ДА

Запуск приложения

Контент

Папка Content предназначена для хранения файлов CSS. Вы захотите использовать эту папку по назначению, потому что она активирует определенную функцию Razor @Url.Content . По умолчанию в этой папке уже есть несколько файлов.

  • bootstrap.css и bootstrap.min.css: стили Bootstrap и соответствующая уменьшенная версия этого файла. Если вы не используете Bootstrap, удалите их. Могу ли я удалить его? ДА.
  • site.css: предназначен для хранения любых стилей, уникальных для вашего проекта. Если вы хотите использовать этот файл, вы можете, но вы также можете легко добавить в эту папку дополнительные файлы CSS. Могу ли я удалить его? ДА.

Контроллеры

шрифты

Единственная причина, по которой эта папка существует, заключается в том, что Bootstrap включен по умолчанию, и, возможно, именно поэтому она не соответствует соглашениям об именах остальной части решения (почему F не пишется с большой буквы ?) Можно удалить? ДА, если вы не собираетесь использовать Bootstrap.

Модели

Он включен в проект по умолчанию и пуст по той же причине, что и App_Data. Теоретически вы будете включать сюда такие вещи, как модели данных или модели представлений. На практике вы почти всегда будете помещать эти файлы в другое место, например, в свой проект .Lib или .Core или в специальную папку ViewModels. Могу ли я удалить его? ДА

Скрипты

Эта папка именно то, на что она похожа; он содержит несколько файлов JavaScript и предназначен для использования в качестве единого репозитория для всех таких файлов.Уникальность этой папки заключается в том, что в проекте по умолчанию все ее файлы привязаны к пакетам NuGet, что, следовательно, означает, что они будут удалены при удалении соответствующего пакета. Могу ли я удалить эту папку? ДА, НО НЕ ДЕЛАЙТЕ, так как это очень удобный способ хранения файлов JS.

Просмотры

Еще одна папка, которая звучит именно так: место для хранения файлов представлений .cshtml. Почти все в этой папке можно удалить, за двумя исключениями:

  1. Файл _ViewStart.cshtml. Технически вы можете удалить этот файл, но вам это не нужно. Этот файл устанавливает макет «по умолчанию», который используют все остальные представления, если они не укажут другой. Могу ли я удалить это? ДА, НО НЕТ
  2. Файл web.config. Этот файл делает что-то очень важное; он устанавливает конфигурацию ваших файлов .cshtml, не позволяет IIS обслуживать эти файлы напрямую и указывает, какие пространства имен могут использовать файлы .cshtml. Могу ли я удалить это? ДА, НО НЕ ДЕЛАЙТЕ, если вам вообще не нужны функции Razor/cshtml.

ApplicationInsights.config

Именно то, на что это похоже: файл конфигурации для ApplicationInsights. Могу ли я удалить его? ДА, если вы не используете ApplicationInsights.

favicon.ico

Значок по умолчанию для сайта. Могу ли я удалить его? ДА, но было бы неплохо заменить его другим фавиконом.

Global.asax

packages.config

Этот XML-файл работает с NuGet, чтобы определить, какие пакеты включить в ваш проект. Могу ли я удалить его? НЕТ.

web.config

Пакеты NuGet

Оповещение

Сразу же мы находим пакет, который включен в проект, потому что он является зависимостью в другом пакете. В этом случае Antlr (другой инструмент для распознавания языка) является зависимостью пакета WebGrease ниже, который, в свою очередь, является зависимостью для Microsoft.AspNet.Web.Optimization. Следовательно, вы можете удалить этот пакет только в том случае, если вы также можете удалить пакеты, которые зависят от него. Могу ли я удалить это? ДА, если вам это не нужно, и сначала удалите другие пакеты.

загрузка

Этот пакет включает интерфейсную среду проектирования Twitter Bootstrap. Если вы хотите использовать его (а начать с ним довольно просто), продолжайте, но в противном случае удалите его. Могу ли я удалить его? ДА.

JQuery

jQuery — это фреймворк JavaScript, о котором все слышали. И поскольку он так популярен, у него также есть другие пакеты, которые зависят от него, в частности, Microsoft.jQuery.Unobtrusive.Validation и jQuery.Validation. Если вы можете удалить эти пакеты, то можете удалить и этот (и в процессе значительно очистить папку Scripts). Могу ли я удалить его? ДА, НО только если вы сначала удалите зависимости.

jQuery. Проверка

Это полезный подключаемый модуль для jQuery, который позволяет выполнять проверку на стороне клиента. Если вы не собираетесь использовать эту функцию (или собираетесь использовать для нее другую структуру), вы можете безопасно удалить этот пакет, по крайней мере, после удаления пакета Microsoft.jQuery.Unobtrusive.Validation, который зависит от этого один. Могу ли я удалить его? ДА, НО вы должны сначала удалить пакет ненавязчивой проверки.

Microsoft.ApplicationInsights.*

Признаюсь, у меня практически нет опыта работы с этим пакетом, так что отнеситесь к этому абзацу с долей скептицизма. Согласно официальной документации, ApplicationInsights — это «расширяемая служба управления производительностью приложений (APM) для веб-разработчиков». Этот набор инструментов позволяет вам отслеживать работающие веб-приложения и создавать отчеты и представления на основе этих данных. Могу ли я удалить его? ДА

Майкрософт.AspNet.Mvc

Microsoft.AspNet.Razor

Этот пакет немного сбивает с толку. Описание гласит: «Этот пакет содержит сборки времени выполнения для веб-страниц ASP.NET», что говорит мне, что если я не использую веб-страницы, я могу удалить его. И тем не менее, как пакет MVC, так и приведенный ниже пакет WebPages зависят от него, поэтому сейчас я не могу сказать, можете ли вы можете удалить его, хотя, вероятно, это не очень хорошая идея. Давайте с этим: Могу ли я удалить его? ВОЗМОЖНО НЕТ, но мне было бы интересно услышать от тех, кто это сделал.

Microsoft.AspNet.Web.Оптимизация

Помните файл BundleConfig.cs из папки App_Start? Это пакет, который фактически выполняет связывание и минимизацию, настроенные этим файлом. Это также пакет, который имеет зависимости от WebGrease и Antlr, поэтому, если вы собираетесь использовать другой метод для объединения и/или минимизации, вы можете безопасно удалить этот пакет. Могу ли я удалить его? ДА.

Microsoft.AspNet.WebPages

Описание этого пакета так же запутанно, как и описание Razor: «Этот пакет содержит основные сборки среды выполнения, совместно используемые ASP.NET MVC и веб-страницами ASP.NET». Еще раз, мы, вероятно, не должны удалять это, даже если у нас нет планов использовать веб-страницы. Могу ли я удалить его?ВОЗМОЖНО НЕТ.

Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Microsoft.jQuery.Unobtrusive.Validation

Это написанный корпорацией Майкрософт пакет, который интегрируется с jQuery для обеспечения простой проверки на стороне клиента для проектов MVC. Как и в случае со многими другими интерфейсными пакетами, если вы не собираетесь использовать эту функцию, этот пакет вам не нужен. Могу ли я удалить его? ДА.

Microsoft.Web.Инфраструктура

Модернизр

Modernizr — это абсолютно фантастическая небольшая библиотека, которая помогает определить, поддерживает ли браузер, в котором работает ваше приложение, более продвинутые функции HTML5 и CSS3. Проект по умолчанию фактически нигде не использует этот пакет (несмотря на ссылки на него в комментариях в Bootstrap, Respond и файле BundleConfig.cs), так что могу ли я удалить это? ДА, НО вы, вероятно, не захотите.

Ньютонсофт.Json

Этот пакет является королем среди всех пакетов для синтаксического анализа JSON. Учитывая распространенность систем Web API и простоту JSON (по сравнению, скажем, с XML), вы, вероятно, захотите использовать этот пакет в какой-то момент, но ничто не мешает вам удалить его из проекта по умолчанию. Могу ли я удалить это? ДА

Ответить

Небольшая библиотека JS, предназначенная для обработки медиазапросов CSS, работающих в старых версиях Internet Explorer. Могу ли я удалить это? ДА, НО только в том случае, если вы не заботитесь о красивом внешнем виде в старых версиях Internet Explorer.

Содержание:

Потеря времени и денег — два основных риска использования устаревших технологий. Тем не менее, время и деньги также являются причинами, по которым малые и средние предприятия не могут своевременно обновлять аппаратное и программное обеспечение.

Какие технологии и фреймворки вы используете

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

Статистика использования ASP.NET Core

Dot Net Software Development

Производительность ядра ASP.NET

Поддержка кроссплатформенности

Меньший код

Простота обслуживания

Поддержка разработки облачных веб-приложений

Razor-страницы

Поддержка внедрения зависимостей

Архитектура MVC

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

Поддержка популярных фреймворков JavaScript

Открытый код

Хостинг

Более высокая безопасность

Быстрая разработка

Быстрая разработка идеально подходит для проектов, которые необходимо выпустить в короткие сроки (2–3 месяца). Это модель разработки, в которой задачам разработки и прототипирования уделяется больше внимания, чем планированию.

Масштабируемость

Как бы просто это ни звучало, веб-сайт, который медленно отвечает, может перенаправить клиентов к конкуренту. Точно так же веб-сайт, который рушится, когда к нему подключается слишком много людей, повлияет на доходы и репутацию компании, не говоря уже о том, что ваш бизнес станет уязвимым для требований об ответственности. В ASP NET Core есть все компоненты для масштабирования вашего сайта.

Читайте также: