2013-07-14 3 views
19

В настоящее время я создаю новый проект ASP.NET MVC 5, который я хочу опубликовать около сентября. Мне нужно выбрать систему членства, но я в настоящее время довольно смущен, о каком направлении я должен взять. Текущее SimpleMembership работает хорошо, но, по-видимому, будет несовместимым с предстоящей идентификацией ASP.NET. Идентификатор ASP.NET, с другой стороны, абсолютно новый с нулевой документацией и может меняться в любое время. Наконец, кажется, что здесь используются идентификаторы на основе строк, которые кажутся очень ненужными накладными расходами по сравнению с идентификаторами на основе целых чисел, которые поддерживает SimpleMembership. Есть ли хороший, будущий способ доказательства, который я могу выбрать?Идентификатор ASP.NET

+0

Строковые отформатированные контуры используются вместо фактических контуров, чтобы облегчить замену механизма сохранения, скажем, если вы хотите использовать решение nosql, которое не предлагало поддержку для Идентификаторы GUID. Столбец id индексируется, и хотя индексный столбец int лучше работает, разница для большинства приложений незначительна. – joelmdev

+0

См. Http://stackoverflow.com/questions/19238621/why-do-the-asp-net-identity-interfaces-use-strings-for-primary-and-foreign-keys/19283502#19283502 по той причине, что идентификаторы GUID используемый. – RickAndMSFT

ответ

10

Я бы посоветовал использовать SimpleMembership. Вы можете использовать INT идентификаторов в базе данных, вы бы просто нужен ToString() идентификатор при подключении вашей организации базы данных, а именно:

public class MyUser : IUser { 
    [Key] 
    int UserID { get; set; } 

    string IUser.Id { get { return UserId.ToString(); } } 
} 
8

На мой взгляд, если вы начнете свой проект с asp.net mvc 5, вы должны использовать новую систему членства, так как она хорошо интегрирована с стандартами http://owin.org/.

+1

Кроме того, мы добавляем дополнительные учебники, и на SO существует много поддержки. – RickAndMSFT

1

я бы либо использовать новейшую версию идентичности или создать свой собственный счет полностью. Идентификатор ASP.NET теперь использует GUID (NVARCHAR (128) - в db) для идентификатора, однако вы все равно можете использовать int, если хотите. Я знаю, что люди все еще используют идентификатор 1.0 без проблем, я полагаю, что они использовали int для идентификатора.

В любом случае, идентификатор не должен сталкиваться с тем, является ли его int или guid. как сказано выше, вы можете просто Id.ToString();

Какой бы маршрут вы ни выбрали, я не думаю, что это будет иметь большое значение.

0

Я считаю, что ASP.NET - неплохая инфраструктура и обеспечивает практически все необходимые функции для приложений. Он также обеспечивает возможность выбора типа столбца идентификатора по вашему выбору. Я создал базовую оболочку по идентификатору ASP.NET и опубликовал nuget, так что это было бы легко использовать. Вы можете посмотреть код по адресу github