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