2010-06-11 3 views
0

Так что, когда вы используете ASP.NET Волшебник, чтобы создать имя, он использует набор таблиц генерируются автоматически с помощью инструмента aspnet_regsql.exe ...Вручную Добавить пользователя в базу данных ASP.NET?

При создании пользователя с помощью мастера он генерирует очень длинный идентификатор_пользователя «a40cf936-1596-4560-a26c-450792e2c8c0« Я хочу добавить пользователей, используя другую программу, которая подключается к этой базе данных ... но как визуальная студия автоматически генерирует этот идентификатор. Я хочу также автогенерировать его

Любые идеи? Заранее спасибо. -Scott

+0

Почему вы пишете непосредственно в БД вместо использования интерфейса MembershipProvider? –

+0

Веб-сайт является расширением приложения Windows C#, которое я пишу. Пользователь взаимодействует с программой, и при необходимости обновляется веб-сайт, например, добавление новых пользователей. – Scott

+0

Возможно, вам захочется ознакомиться с ASP.NET MVC Membership Starter Kit, из коробки это простой сайт, который позволяет изменять пользователей, настроенных через ASP.NET MemberhipProvider –

ответ

1

Как сказал Фрэнк, вы должны использовать интерфейс MembershipProvider.

Чтобы ответить на ваш вопрос, 99% шанс, что это просто GUID. Чтобы получить один из них, просто:

string idText = System.Guid.NewGuid().ToString(); 

EDIT: Просто, чтобы все было ясно, я не рекомендую это. Вероятно, есть другие зависимости, права и роли в разных таблицах, которые вы неправильно выполняете, если не используете правильные вызовы api. Вы должны look here instead.

+0

На самом деле, это 100% вероятность того, что это GUID, поскольку это то, что использует поставщик аутентификации ASP.NET для пользовательских ключей. – GalacticCowboy

+0

Кроме того, +1 для вашего редактирования - если вы не знаете, что вы делаете, не делайте это вручную! – GalacticCowboy

+0

Благодарим вас за быстрый ответ. Это очень полезно, так как я буду изменять базу данных за пределами asp.net, единственный вариант, который я вижу, делает это вручную, большое спасибо:) – Scott

0

Загрузить .Net Reflector и посмотреть источник для AspNetMemembershipProvider. Вероятно, вы можете найти все вызовы SQL, которые вам нужны. Кроме того, я думаю, что вы можете создать экземпляр класса вне ASP.NET. Существует метод AspNetMembershipProvider.Initialize(), который вы можете вызывать для инициализации на основе того, что вы имели бы в конфигурационном файле. Параметры Initialize() не очевидны, но разобрать его в отражателе, и вы это выясните.

+0

Спасибо .. Я буду изучать этот – Scott

Смежные вопросы