ASP.NET身份
我目前正在构建一个新的ASP.NET MVC 5项目,我想在九月左右发布。我需要选择一个会员系统,但我现在对我应该采取哪个方向感到困惑。目前的SimpleMembership运行良好,但显然与即将到来的ASP.NET身份不兼容。另一方面,ASP.NET Identity是绝对新的零文档,可随时更改。最后,似乎基于字符串的ID在这里被使用,这与SimpleMembership支持的基于整数的ID相比似乎是非常不必要的开销。我可以选择一个好的,未来的证据吗?ASP.NET身份
我建议不要使用SimpleMembership。您仍然可以使用int中的ID数据库,在数据库实体,插入时你只需要的ToString()的ID,即:
public class MyUser : IUser {
[Key]
int UserID { get; set; }
string IUser.Id { get { return UserId.ToString(); } }
}
在,如果你开始与asp.net的MVC 5你的项目,你应该使用新的会员制度,因为它很好地http://owin.org/标准的集成我的意见。
此外,我们正在添加更多的教程,并且对它有大量的支持。 – RickAndMSFT
我要么用身份的最新版本,或者建立自己的帐户系统完全。 ASP.NET Identity现在使用GUID(NVARCHAR(128) - 在数据库中)作为ID,但是如果您愿意,仍然可以使用int。我知道仍然使用身份标识1.0的人没有问题,我相信他们在那时使用了int。
无论哪种方式,Id不应该冲突它是一个int还是一个guid。正如上面的帖子说你可以只是Id.ToString();
无论你走的路线是什么,我都不认为它会带来很大的改变。
我相信ASP.NET是相当不错的框架,并为应用程序提供几乎所有必需的功能。它还提供了根据您的选择选择Id列类型的可行性。我创建了基本的ASP.NET身份封装器并发布了一个nuget,以便它可以轻松使用。您可以在github
字符串格式化的GUID的代码来看看在实际发生的GUID用于允许持久化机制更容易被换出,说,如果你想使用的NoSQL解决方案,没有提供支持的GUID。 id列被索引,尽管索引int列的性能更好,但大多数应用程序的差异可以忽略不计。 – joelmdev
请参阅http://stackoverflow.com/questions/19238621/why-do-the-asp-net-identity-interfaces-use-strings-for-primary-and-foreign-keys/19283502#19283502因为GUID是用过的。 – RickAndMSFT