我昨天安裝了Visual Studio 2012(RTM,通過mytt DreamSpark帳戶),並創建了一個演示MVC站點(使用.NET 4.0,因爲我希望它在Azure上受支持)。ASP.NET 4 Membeship架構已更改
我已經開始調查該項目,除了使用外部服務(Facebook,Twitter,Windows Live和Google)的內置選項外,我發現整個會員模式已被更改:
新結構包含4個表(UserProfile是第一個代碼接近實體框架表)。 請注意,雖然表前綴是「webpages_」,但它是一個適當的MVC 4站點。
我已經打開了AccountModels.cs文件,發現它已被更改過:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;
namespace MyGuestbook.Models
{
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; }
}
public class RegisterExternalLoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
public string ExternalLoginData { get; set; }
}
public class LocalPasswordModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
public class ExternalLogin
{
public string Provider { get; set; }
public string ProviderDisplayName { get; set; }
public string ProviderUserId { get; set; }
}
}
所以我想問: - 這是否新的用戶結構(即由asp_regsql產生.exe)或者這是一個特定於模板的結構? - 有人有關於新結構的文檔以及如何與其結合? - 有人知道如何將舊結構的「舊」項目(例如MVC 3項目)遷移到新結構?
謝謝! :)
請在此處總結或引用關鍵位。鏈接腐爛發生,渲染鏈接只回答完全無用。 –
上面的鏈接總結了傳統ASP.NET方案與ASP.NET MVC 4使用的新方案和項目模板之間的區別。我的問題的答案是文章內容......沒有具體的答案整個問題。 –