2oo*_*oom 35 .net asp.net asp.net-mvc owin katana
Startup.cs是一种初始化应用程序而不是Application_StartGlobal.asax 的新方法,它很好.但是有没有地方放置我的拆解逻辑,例如:
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_End()
{
// Release you ServiceBroker listener
SqlDependency.Stop(connString);
}
}
Run Code Online (Sandbox Code Playgroud)
在Microsoft.Owin命名空间中查找,但它似乎只有OwinStartupAttribute.这是否意味着应用程序生命周期事件仍由System.Web.HttpApplication实例处理,并且OWIN规范不支持?
Mih*_*scu 42
AppProperties在发现Microsoft.Owin.BuilderProperties,暴露CancellationToken的OnAppDisposing.
你可以得到这个令牌并注册一个回调到它
public class Startup
{
public void Configuration(IAppBuilder app)
{
var properties = new AppProperties(app.Properties);
CancellationToken token = properties.OnAppDisposing;
if (token != CancellationToken.None)
{
token.Register(() =>
{
// do stuff
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
Tho*_*yde 12
我把它打包成一个小帮手,所以你可以这样做:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.OnDisposing(() =>
{
// do stuff
});
}
}
Run Code Online (Sandbox Code Playgroud)
帮助者:
static class AppBuilderExtensions
{
public static void OnDisposing(this IAppBuilder app, Action cleanup)
{
var properties = new AppProperties(app.Properties);
var token = properties.OnAppDisposing;
if (token != CancellationToken.None)
{
token.Register(cleanup);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4975 次 |
| 最近记录: |