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:设置下拉列表选择的值
推荐文章
站长推荐
热点阅读
