我让OwinStartup配置代码完美运行,然后它停止工作.不幸的是,我不确定我做了什么让它停止工作并且很难搞清楚它.
为了确保我已经涵盖了基础知识,我加倍检查以确保我拥有
[assembly:OwinStartup(typeof(WebApplication.Startup))]
Run Code Online (Sandbox Code Playgroud)
正确分配属性并确保我没有owin的appSetting:AutomaticAppStartup设置为false所以我将一个设置为true以保证安全,因为之前没有任何内容.
<add key="owin:AutomaticAppStartup" value="true" />
Run Code Online (Sandbox Code Playgroud)
我也尝试过专门调用appSetting:
<add key="owin:appStartup" value="WebApplication.Startup" />
Run Code Online (Sandbox Code Playgroud)
在它停止工作之前,我将Microsoft.Owin.Security NuGet包升级到2.0.2,所以我尝试将它们恢复到2.0.1(这很痛苦),但它没有改变任何东西.我在项目上安装了WebActivator并使用它来引导其他东西,但我已经在新的WebApplication模板上测试了它并且它在那里工作,所以我不认为那是罪魁祸首.
我还尝试删除我的Startup类并使用Visual Studio在Add New Item中使用OWIN Startup Class类型添加一个新类,并且也没有被调用.接下来我尝试添加第二个Startup类,因为我知道如果定义了多个OwinStartup属性它将抛出异常,但它没有抛出任何异常.
不知道还有什么可以尝试.有什么想法吗?
更新
事实证明Resharper在我用它删除未使用的引用时删除了对Microsoft.Owin.Host.SystemWeb的引用.
我在ASP.NET MVC 5站点上有以下类:
[assembly: OwinStartup(typeof(MVCSite.Startup))]
namespace MVCSite {
public partial class Startup {
public void Configuration(IAppBuilder application) {
application.UseCookieAuthentication(new CookieAuthenticationOptions {
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login")
});
application.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Web.Config上我有以下内容:
<add key="owin:AutomaticAppStartup" value="false"/>
Run Code Online (Sandbox Code Playgroud)
我在Startup.Configuration中有一个断点但这不会触发......
知道为什么吗?