저는 현재 9 월경에 새로운 ASP.NET MVC 5 프로젝트를 만들고 싶습니다. 회원 시스템을 선택해야하지만, 현재 어느 방향으로해야하는지 혼란 스럽습니다. 현재 SimpleMembership은 잘 작동하지만 곧 ASP.NET Identity와 호환되지 않습니다. 반면에 ASP.NET Identity는 전혀 새로운 기능으로 언제든지 변경 될 수 있습니다. 마침내 문자열 기반 ID가 여기에 사용 된 것으로 보입니다. SimpleMembership이 지원하는 정수 기반 ID에 비해 매우 불필요한 오버 헤드처럼 보입니다. 내가 선택할 수있는 좋은 미래의 증거 방법이 있습니까?ASP.NET ID
답변
SimpleMembership도 사용하지 않는 것이 좋습니다.
public class MyUser : IUser {
[Key]
int UserID { get; set; }
string IUser.Id { get { return UserId.ToString(); } }
}
내 생각에 asp.net MVC 5로 프로젝트를 시작한다면 그것은 새로운 멤버십 시스템을 사용해야한다. http://owin.org/ 표준과 잘 통합되어 있기 때문이다.
또한 우리는 더 많은 자습서를 추가하고 있으며 이에 대한 많은 지원이 있습니다. – RickAndMSFT
나는 정체성의 최신 버전을 사용하거나 자신의 계정을 만들 것 중 하나 : 당신은 아직도 당신의 데이터베이스 개체에 연결하면 그냥 즉, toString()를에 ID를 필요, 데이터베이스에 INT ID를 사용할 수 있습니다 시스템을 완전히. ASP.NET ID는 이제 ID에 대해 GUID (NVARCHAR (128) - db에 있음)를 사용하지만 원할 경우 여전히 int를 사용할 수 있습니다. 나는 사람들이 Id 1.0을 여전히 사용하고 있다는 것을 안다. 나는 이드에게 int를 사용했다고 생각한다.
어느 쪽이든 Id는 int 또는 guid와 충돌하지 않아야합니다. 위의 게시물은 당신이 그냥 Id.ToString 수 있다고 말했다();
당신이 취하는 경로는 무엇이든 차이가별로 없다고 생각합니다.
ASP.NET은 꽤 좋은 프레임 워크이며 응용 프로그램에 거의 모든 필수 기능을 제공한다고 생각합니다. 또한 선택에 따라 ID 열의 유형을 선택할 수있는 가능성을 제공합니다. ASP.NET ID에 대한 기본 래퍼를 만들고 쉽게 사용할 수 있도록 누겟을 게시했습니다. github
지속성 메커니즘을보다 쉽게 스왑 아웃 할 수 있도록 문자열 형식의 guid가 실제 guid 대신 사용됩니다 (예 : 지원하지 않는 nosql 솔루션을 사용하려는 경우). guids. id 열은 색인화되며 색인화 된 int 열이 더 잘 수행되지만 차이는 대부분의 응용 프로그램에서 무시할 수 있습니다. – joelmdev
GUID가 다음과 같은 이유로 http://stackoverflow.com/questions/19238621/why-do-the-asp-net-identity-interfaces-use-strings-for-primary-and-foreign-keys/19283502#19283502를 참조하십시오. 익숙한. – RickAndMSFT