PhluffyFotos не работает на Azure SDK 1.3 - PullRequest
0 голосов
/ 01 декабря 2010

Я попробовал PhluffyFotos пример на Azure SDK 1.2, и он отлично работает.Сегодня я установил на другой (чистый) компьютер Azure SDK 1.3, и я также хочу попробовать PhluffyFotos на нем, но он не работает.У меня есть проблема с этой частью:

        if (!Roles.GetAllRoles().Contains("Administrator"))
        {
            Roles.CreateRole("Administrator");
        }

Кажется, он как-то не загружает пользовательский RoleProvider (TableStorageRoleProvider).Ты хоть представляешь, что это может быть?

Я получаю следующую ошибку: «Функция диспетчера ролей не включена.», Из-за следующего исключения «System.Web.Security.Roles.ApplicationName» вызвала исключение типа «System.Configuration.Provider.ProviderException '".

Может кто-нибудь протестировать этот пример и посмотреть, в чем проблема?http://phluffyfotos.codeplex.com/

Во-первых, у меня есть проблема "SetConfigurationSettingPublisher" с этим примером, , но я успешно разрешил ее .

РЕДАКТИРОВАТЬ:

Я углубился в это, и я уверен, что есть проблема с поставщиком ролей.Каким-то образом класс Roles не читает конфигурационный файл.У кого-нибудь есть идеи, почему?

Ответы [ 3 ]

1 голос
/ 03 декабря 2010

Чтобы запустить пример PhluffyFotos в Azure SKD 1.3, необходимо:

  1. Изменить ссылку Microsoft.WindowsAzure.StorageClient с 1,0 на 1,1

  2. Переместите «GetConfigurationSettingValue» в событие «Application_Start» Global.asax.

  3. Переместить инициализацию, связанную с ролью, в событие Global.asax «Application_BeginRequest», но необходимо убедиться, что оно выполняется только один раз. Пример:

    закрытый статический объект gate = new object (); private static bool initialized = false;

    protected void Application_BeginRequest()
    {
        if (initialized)
        {
            return;
        }
    
    
    <pre><code>lock (gate)
    {
        if (!initialized)
        {
            // We need to check if this is the first launch of the app and pre-create
            // the admin role and the first user to be admin (still needs to register).
            if (!Roles.GetAllRoles().Contains("Administrator"))
            {
                Roles.CreateRole("Administrator");
            }
    
    
            if (!Roles.GetUsersInRole("Administrator").Any())
            {
                Roles.AddUserToRole(RoleEnvironment.GetConfigurationSettingValue("DefaultAdminRoleUser"), "Administrator");
            }
    
    
            initialized = true;
        }
    }
    
    }
1 голос
/ 03 декабря 2010

Я разместил версию кода с исправлениями, предложенными Питером для Rapidshare здесь: http://rapidshare.com/files/434649379/PhluffyFotos.zip

Для тех, кто не хочет возиться с установкой зависимостей и т. Д.

Cheers, Даниэль

1 голос
/ 02 декабря 2010

У меня точно такая же проблема с моим собственным проектом. С помощью журналов Fusion я проверил, что сборка, содержащая пользовательские провайдеры, даже не загружается. так что, похоже, проблема как-то связана с игнорированием настроек web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...