В настоящее время я создаю новый проект ASP.NET MVC 5, который я хочу опубликовать около сентября. Мне нужно выбрать систему членства, но я в настоящее время довольно смущен, о каком направлении я должен взять. Текущее SimpleMembership работает хорошо, но, по-видимому, будет несовместимым с предстоящей идентификацией ASP.NET. Идентификатор ASP.NET, с другой стороны, абсолютно новый с нулевой документацией и может меняться в любое время. Наконец, кажется, что здесь используются идентификаторы на основе строк, которые кажутся очень ненужными накладными расходами по сравнению с идентификаторами на основе целых чисел, которые поддерживает SimpleMembership. Есть ли хороший, будущий способ доказательства, который я могу выбрать?
Идентификация ASP.NET
Ответ 1
Я бы посоветовал не использовать SimpleMembership. Вы все еще можете использовать идентификаторы int в своей базе данных, вам просто нужно указать ToString() ID при подключении к вашей базе данных, т.е.:
public class MyUser : IUser {
[Key]
int UserID { get; set; }
string IUser.Id { get { return UserId.ToString(); } }
}
Ответ 2
На мой взгляд, если вы начнете свой проект с asp.net mvc 5, вы должны использовать новую систему членства, так как она хорошо интегрирована с http://owin.org/.
Ответ 3
Я бы либо использовал новейшую версию идентификации, либо полностью создал свою собственную систему учета. Идентификатор ASP.NET теперь использует GUID (NVARCHAR (128) - в db) для идентификатора, однако вы все равно можете использовать int, если хотите. Я знаю, что люди по-прежнему используют идентификатор 1.0 без каких-либо проблем, я считаю, что они использовали int для идентификатора тогда.
В любом случае Id никогда не должен сталкиваться с тем, является ли его int или guid. как сказано выше, вы можете просто Id.ToString();
Какой бы маршрут вы ни выбрали, я не думаю, что это будет иметь большое значение.
Ответ 4
Я считаю, что ASP.NET - неплохая инфраструктура и обеспечивает практически все необходимые функции для приложений. Он также обеспечивает возможность выбора типа столбца идентификатора по вашему выбору. Я создал базовую оболочку по идентификатору ASP.NET и опубликовал nuget, так что это было бы легко использовать. Вы можете посмотреть код на github