OWIN + Global.Asax - 背景正在消亡

时间:2015-07-27 21:54:21

标签: c# asp.net-web-api2 owin nlog

我尝试使用WebApi + OWIN + SimpleInjector,但不知何故,在每次请求之后,整个事情似乎都在重启。对于每个请求,Global.Asasx中的breakpoing都会被点击,然后再次执行所有OWIN Startup以达到app.use(...)。

我发现没有例外,我已删除了对GlobalConfiguration的所有引用,我使用的唯一HttpConfiguration是我在Owin上的Startup.cs中创建的那个&# 39; s方法:配置。

有人可以帮我解决这个问题吗?调试带我无处:( 我的Global.asax有一个空的Application_start(只是一个断点),Startup.cs的代码如下:

public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
SimpleInjectorConfig.Initialize(config);
this.ConfigureAuth(app, SimpleInjectorConfig.container);

WebApiConfig.Register(config);
app.UseWebApi(config);
}

public void ConfigureAuth(IAppBuilder app, Container container)
    {
          // Enables COORS
        app.Use(async (context, next) =>
        {
            using (var scope = container.BeginExecutionContextScope())
            {
    await next();
});

app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
PublicClientId = "self";
...Code to create OAuthOptions
app.UseOAuthBearerTokens(OAuthOptions);

修改

我发现了导致它的原因,但无法解决。 NLog不与OWIN一起玩,当我禁用它时,问题就消失了。没有抛出异常,但上下文始终是&#34;再循环&#34;。问题似乎是Nlog通过反射获取它的记录器的方式。

0 个答案:

没有答案