0
我有一個關於Owin及其上下文的奇怪問題。我有一個控制器動作,看起來像這樣」在上下文中找不到任何owin.Environment項目。「當不在調試模式下
[HttpPost]
public ActionResult Login(string username, string password)
{
var ctx = HttpContext.GetOwinContext();
// code omitted
return new HttpUnauthorizedResult();
}
如果我在var ctx
設置斷點和調試應用程序變量獲取其值。但是,如果只是正常啓動應用程序,並使用IIS Express(ctrl + f5)運行應用程序,則會在var ctx
處中斷並給出錯誤。
「在上下文中找不到owin.Environment項目。」
什麼原因導致此錯誤?
我在Visual Studio 2013,.Net版本4.5.1中運行這個。謝謝你的幫助!
如果您認爲您需要更多來自startup.cs或其他地方的代碼,請告訴我們。
編輯:這是我的啓動conf。
[assembly: OwinStartup(typeof(XXX.Startup))]
namespace XXX
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
namespace XXX
{
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = AuthenticationTypes.Cookie,
AuthenticationMode = AuthenticationMode.Active,
SlidingExpiration = true,
ExpireTimeSpan = new TimeSpan(0, 30, 0),
});
app.UseMyAuthentication(new MyAuthenticationOptions()
{
AuthenticationType = AuthenticationTypes.MyAuthType,
SignInAsAuthenticationType = AuthenticationTypes.Cookie,
AuthenticationMode = AuthenticationMode.Passive,
CallbackPath = new PathString("/authorization/callback")
});
}
}
}
看看[this](http://stackoverflow.com/questions/18232549/no-owin-environment-item-was-found-in-the-context)線程。 –
添加了一些配置。 @YuvalItzchakov,它找到啓動類,但是當不執行ctrl + f5時獲取上下文,它會引發異常,但不會在執行f5和通過getOwinContext方法進行調試時引發異常。 – Andreas