我尝试使用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通过反射获取它的记录器的方式。