Я только что установил Visual Studio 2013, создал проект MVC Web Application и заметил новый файл в шаблоне проекта под названием Startup.cs.
Что это такое, как это отличается от Global.asax.cs и есть ли хорошие рекомендации по использованию этого?
Я только что установил Visual Studio 2013, создал проект MVC Web Application и заметил новый файл в шаблоне проекта под названием Startup.cs.
Что это такое, как это отличается от Global.asax.cs и есть ли хорошие рекомендации по использованию этого?
Каждое приложение OWIN имеет класс запуска, в котором вы указываете компоненты для конвейера приложения.
Если вы запустите новый проект Visual Studio, вы увидите фрагменты OWIN. OWIN - это спецификация, которая определяет API для каркаса и серверов для сотрудничества. Точка OWIN - это отключение сервера и приложения. Например, ASP.NET Identity использует OWIN-безопасность, собственный хостинг SignalR использует хостинг OWIN и т.д., Все примеры используют OWIN, поэтому все они должны иметь класс запуска, определенный в файле "Startup.cs".
Файл приложения Global.asax, приложение ASP.NET, является необязательным файлом, который содержит код для ответа к событиям уровня приложения, поднятым ASP.NET или HttpModules.
Подробнее:
Owin
http://www.asp.net/aspnet/overview/owin-and-katana
Global.asax
http://msdn.microsoft.com/en-us/library/1xaas8a2(v=vs.71).aspx
Вы можете найти больше идей о том, почему OWIN в следующей статье:
http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
Файл, похоже, связан с SignalR. Цитирование примечаний к выпуску VS 2013:
Построено на OWIN
SignalR 2.0 полностью встроен в OWIN (открытый веб-интерфейс для.СЕТЬ). Это изменение делает процесс настройки для SignalR намного более совместимые между веб-хостингами и самообслуживаемыми приложениями SignalR, но также потребовал ряд изменений API.
MapHubs и MapConnection теперь являются MapSignalR
Для совместимости с стандартами OWIN эти методы были переименованы к MapSignalR. MapSignalR, вызываемый без параметров, отобразит все хабы (как MapHubs делает в версии 1.x); отображать индивидуальные Объекты PersistentConnection, укажите тип подключения как тип параметр и расширение URL для подключения в качестве первого аргумент.
Метод MapSignalR вызывается в классе запуска Owin. визуальный Studio 2013 содержит новый шаблон для класса запуска Owin; использовать этот шаблон, сделайте следующее:
- Щелкните правой кнопкой мыши проект
- Выберите Добавить, Новый элемент...
- Выберите класс запуска Owin. Назовите новый класс Startup.cs.
В веб-приложении класс запуска Owin, содержащий MapSignalR метод добавляется в процесс запуска Owin с использованием записи в настройки приложения node файла Web.Config, как показано ниже.
В самообслуживаемом приложении класс Startup передается как тип параметр метода WebApp.Start.
Класс запуска - это соглашение, которое Katana/OWIN ищет для инициализации конвейера. Когда ваше приложение запускается, код внутри функции "Конфигурация" запускается для настройки компонентов, которые будут использоваться. В шаблонах MVC 5 он использовался для связывания промежуточного программного обеспечения аутентификации, которое все построено поверх OWIN.
Если вы хотите использовать инъекцию зависимостей с OWIN, посмотрите этот проект на GitHub: DotNetDoodle.Owin.Dependencies