asp.net-mvc – ASP.NET简单会员提供者?
发布时间:2020-12-16 03:58:51 所属栏目:asp.Net 来源:网络整理
导读:我打开了Asp.Net Mvc 4 Internet App.模板.我为我的数据库设置连接字符串,如下所示: connectionStrings add name="DefaultConnection" connectionString="Data Source=ALI-PC;Initial Catalog=OsosPlusDb;Persist Security Info=True;User ID=sa;Password=
我打开了Asp.Net Mvc 4 Internet App.模板.我为我的数据库设置连接字符串,如下所示:
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=ALI-PC;Initial Catalog=OsosPlusDb;Persist Security Info=True;User ID=sa;Password=sa;" providerName="System.Data.SqlClient" /> </connectionStrings> 我运行项目,单击注册按钮.我创建了一个像这样的新用户: 当我点击注册发布时,我收到此错误: 但是它在数据库中创建了一个新用户并且它没有创建membership_user(成员资格表不包含添加的用户信息): 我找不到有什么问题.有时没有发生错误. UPDATE 和例外快照: AcoountModel: public class UsersContext : DbContext { public UsersContext() : base("DefaultConnection") { } public DbSet<UserProfile> UserProfiles { get; set; } } [Table("UserProfile")] public class UserProfile { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { get; set; } } InitializeSimpleMembershipAttribute.cs [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,AllowMultiple = false,Inherited = true)] public sealed class InitializeSimpleMembershipAttribute : ActionFilterAttribute { private static SimpleMembershipInitializer _initializer; private static object _initializerLock = new object(); private static bool _isInitialized; public override void OnActionExecuting(ActionExecutingContext filterContext) { // Ensure ASP.NET Simple Membership is initialized only once per app start LazyInitializer.EnsureInitialized(ref _initializer,ref _isInitialized,ref _initializerLock); } private class SimpleMembershipInitializer { public SimpleMembershipInitializer() { Database.SetInitializer<UsersContext>(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Create the SimpleMembership database without Entity Framework migration schema ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } WebSecurity.InitializeDatabaseConnection("DefaultConnection","UserProfile","UserId","UserName",autoCreateTables: true); } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information,please see http://go.microsoft.com/fwlink/?LinkId=256588",ex); } } } } 最后的编辑和摘要 问题是字符(“i”).如果我不使用“我”一切都没问题.但是当我使用它时,我得到了那个错误.我该如何解决这个问题. 解决方法
手动创建数据库(不允许您的项目自动创建数据库)
当您在Options下创建数据库集collat??ion到Latin1_General_CI_AS时 要么 如果您在数据库中使用土耳其语字符,则数据库排序规则必须为Turkish_CI_AS,您可以更改列排序规则.请按照步骤操作. (PS:整理是关于排序,如果你使用土耳其字符,如果你想排序像a,b,c,?,d,e,f,g,h,?,i,..你的数据库整理必须是土耳其语..) 1)右键单击UserName Column,然后单击Modify .. 2)点击整理.. 3)并选择Latin1_General .. 单击确定并保存更改. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 手动搭建自己的nuget服务器及使用
- asp.net – Grid.SelectedRow.Cells.Item(1).Text.ToString
- 如何保护我的ASP.NET AJAX应用程序?
- 向asp.net添加样式表(使用Visual Studio 2010)
- asp.net-mvc-4 – 未找到入口点异常
- asp.net-mvc – 输入类型=“隐藏”vs htmlhelper奇怪的问题
- asp.net – 设置.net web-application的默认页面
- asp.net-mvc – Asp.Net MVC 2 – 在Model Binder中迭代表单
- asp.net-mvc-2 – 阅读OAuth2.0 Signed_Request Facebook注
- asp.net-mvc-3 – MVC3:设置下拉列表选择的值
推荐文章
站长推荐
热点阅读