通过以下方法设置启动项:
命名约定 Katana在命名空间内查找StartUp类
OwinStartup Attribute
[assembly: OwinStartup(typeof(StartupDemo.TestStartup))]
在Configuration文件中设置appSetting
<appSettings>
<add key="owin:appStartup" value="StartupDemo.ProductionStartup" />
</appSettings>
显示指定startup class和assembly
<appSettings>
<add key="owin:appStartup" value="ProductionConfiguration" />
</appSettings>
在配置文件中指定一个友好的startup class名称
<appSettings>
<add key="owin:appStartup" value="ProductionConfiguration" />
</appSettings>
使用了上述的配置,必须使用OwinStartup特性指定一个同样的名称
[assembly: OwinStartup("ProductionConfiguration", typeof(StartupDemo.ProductionStartup2))]
namespace StartupDemo
{
public class ProductionStartup
{
public void Configuration(IAppBuilder app)
{
app.Run(context =>
{
string t = DateTime.Now.Millisecond.ToString();
return context.Response.WriteAsync(t + " Production OWIN App");
});
}
}
public class ProductionStartup2
{
public void Configuration(IAppBuilder app)
{
app.Run(context =>
{
string t = DateTime.Now.Millisecond.ToString();
return context.Response.WriteAsync(t + " 2nd Production OWIN App");
});
}
}
}
设置appSetting的owin:AutomaticAppStartup值为false禁用OWIN启动发现
在IIS中启动
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(StartupDemo.ProductionStartup))]
namespace StartupDemo
{
public class ProductionStartup
{
public void Configuration(IAppBuilder app)
{
app.Run(context =>
{
string t = DateTime.Now.Millisecond.ToString();
return context.Response.WriteAsync(t + " Production OWIN App");
});
}
}
}
在OwinHost.exe中启动