【发布时间】:2016-01-16 02:52:58
【问题描述】:
我有一个使用 ASP.NET Identity 2.1 的 ASP.NET MVC 5 Web 应用程序。我正在尝试将所有标识/授权代码从 Web 项目中移出到类库中。
我将所有样板文件 UserManager、SigninManager 移出,并从 Web 项目中删除了所有用于 ASP.NET Identity 和 OWIN 的 NuGet 包(将它们添加到类库中)。
我还将Startup.cs 和Startup.Auth.cs 文件中的代码移到了我的类库中。这些包含 OWIN 配置内容。
我现在如何确保在应用程序启动时调用此代码?在原始项目中,Startup 类(在Startup.cs 中)有这样一行:
[assembly: OwinStartupAttribute(typeof(WebApplication1.Startup))]
我已经在我的类库的等效文件中放了一个类似的行(使用正确的类名),但这似乎没有效果。这条线是否必须进入网络应用程序? (在这种情况下,我可能需要将 OWIN NuGet 包重新添加到 Web 项目中——我希望避免这种情况)。
我也尝试将其添加到我的 web.config 文件中:
<add key="owin:appStartup" value="MyClassLibrary.MyNamespace.Startup, My.DLL.Name" />
但是,如果没有 Web 项目中的某些东西触发它,我不确定这将如何工作 - 这又回到了将 OWIN 添加到 Web 项目中。
我很困惑 - 任何帮助将不胜感激。
【问题讨论】:
-
@vcs:添加该包确实意味着我的断点被命中,谢谢。当然,这确实意味着需要将许多 OWIN 库添加回我的 Web 项目,但就这样吧。如果您将评论复制到答案,我会接受。谢谢。
标签: asp.net asp.net-mvc asp.net-mvc-5 owin asp.net-identity-2