У вас будет такая же строка в вашем проекте:
[assembly: OwinStartup(typeof(MyApp.Security.Authentication.Startup))]
Строка выше сообщает .NET классу и методу, который будет вызываться в начале.
Альтернативу вы можете настроить запуск в WebConfig
...
...
. С этой точки вы можете разместить компоненты OWIN, а также все элементы конфигурации, которые вы обычно размещаете в Global. asax Application_Start обработчик событий.
Удалить класс Global.asax: если вы используете OWIN, вам не нужно использовать класс Gobal.asax и запускать событие Application_Start, чтобы его можно было удалить.
Пример кода Startup.cs
using System.Web.Http;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(MyApp.Security.Authentication.Startup))]
namespace MyApp.Security.Authentication
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseWebApi(config);
}
}
}
Отредактировано:
OWIN использует класс запуска, в котором вы можете указать компоненты, которые вы хотите включить в конвейер приложения. Если вы посмотрите на исходный код Katana , хост Katana SystemWeb использует PreApplicationStartMethodAttribute , чтобы подключиться к запуску приложения. PreApplicationStartMethodAttribute, который представлен в .NET 4, позволяет вам запускать код на ранней стадии конвейера ASP.NET при запуске приложения.
Проверьте раздел «Обнаружение класса запуска Owin» в этой ссылке и этой ссылке о PreApplicationStartMethodAttribute.