asp.net серия неудачных исключений в ролевой менеджере - PullRequest
0 голосов
/ 07 мая 2019

Я новичок в asp.net и бегаю кругами, пытаясь решить проблему с менеджером ролей.Я следовал вместе с учебником здесь , и я отклонился от него, пытаясь использовать базу данных DefaultConnection, созданную при запуске проекта, вместо изменения базы данных, созданной ранее в этой серии учебников.(У меня нет времени, чтобы закончить весь урок, прежде чем приступить к работе над моим проектом).

Я включил roleManager и добавил строку подключения по умолчанию, например:

<roleManager enabled="true">
    <providers>
        <clear />
        <add name="AspNetSqlRoleProvider"
            connectionStringName="DefaultConnection"
            applicationName="/"
            type="System.Web.Security.SqlRoleProvider"/>
    </providers>
</roleManager>

Тем не менее, когда я запустил следующий тест с использованием codebehind:

if (!System.Web.Security.Roles.RoleExists(newRoleName))
{
    System.Web.Security.Roles.CreateRole(newRoleName);
}

Я получил исключение с сообщением Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.

Так что я нашел это в Google и обнаружил большое количествоответы (например, этот ) здесь и на форуме Microsoft, где говорится, что мне нужно запустить aspnet_regsql.exe, чтобы отправить необходимую схему в базу данных.Ну, я сделал это и обнаружил, что хранимые процедуры не были созданы.Так что я прогуглил , что , и нашел пару ответов, таких как this , говорящих, что мне не нужно ничего делать, потому что ASP Identity 2 этого не требует, и простоверните мой файл web.config обратно в исходное состояние, например:

<roleManager>
    <providers>
        <clear />
    </providers>
</roleManager>

Итак, я сделал , что , и когда я попытался создать роль, я получил исключение The Role Manager feature has not been enabled..Что, конечно, приводит меня обратно к тому, с чего я начал.Я в конце своего остроумия.Я попытался использовать флаг -sqlexportonly и проверил полученный SQL, и не вижу ни одной хранимой процедуры, создаваемой SQL.Поэтому я не знаю, что делать, на данный момент.

...