我通常会删除默认情况下位于 Filters 文件夹中的 InitializeSimpleMembership 文件。您希望它在启动时初始化一次,因此最好的地方是 Global.asax
现在为了在 Global.asax 中保持 application_start() 方法的结构一致,我会将它添加到该方法调用的配置文件中。您可以创建一个新的,但我通常会将其添加到 AuthConfig。AuthConfig 具有默认的 OAuth 代码,因此将所有身份验证方法放在一起是有意义的。
调用 RegisterAuth 中的方法在启动时由 global.asax 调用一次。只需添加
//Local Authentication
WebSecurity.InitializeDatabaseConnection("MyDbConnection", "UserProfile", "UserId", "UserName", autoCreateTables: false);
您将在构建时遇到一些错误,这些错误可以通过删除引用过滤器文件夹的 using 语句(可能仅在您有 resharper 时)和删除 InitializeSimpleMembership 属性(不再需要)来解决。
在我的示例中,当我在解决方案中使用数据库项目时,我将 autoCreateTables 设置为 false。如果您使用另一种方法,例如代码优先,您可能希望它为真