C# PhluffyFotos在Azure SDK 1.3上不起作用

C# PhluffyFotos在Azure SDK 1.3上不起作用,c#,azure,C#,Azure,我已经在Azure SDK 1.2上尝试了这个示例,它运行得非常完美。今天我已经在另一台(clen)计算机上安装了Azure SDK 1.3,我还想在其上尝试PhluffyFotos,但它不起作用。我对这部分有问题: if (!Roles.GetAllRoles().Contains("Administrator")) { Roles.CreateRole("Administrator"); } 似乎它没有加载自定义Rol

我已经在Azure SDK 1.2上尝试了这个示例,它运行得非常完美。今天我已经在另一台(clen)计算机上安装了Azure SDK 1.3,我还想在其上尝试PhluffyFotos,但它不起作用。我对这部分有问题:

        if (!Roles.GetAllRoles().Contains("Administrator"))
        {
            Roles.CreateRole("Administrator");
        }
似乎它没有加载自定义RoleProvider(TableStorageRoleProvider)。你知道会是什么吗

我收到以下错误:“角色管理器功能尚未启用。”,因为以下异常“'System.Web.Security.Roles.ApplicationName'引发了类型为'System.Configuration.Provider.ProviderException'的异常”

有人能测试一下这个例子,看看问题出在哪里吗

首先,我在这个示例中遇到了“SetConfigurationSettingPublisher”问题

编辑:


我已经深入研究了它,我确信角色提供者存在问题。不知何故,角色类不读取配置文件。有人知道为什么吗?

我自己的项目也有同样的问题。我用Fusion日志验证了包含自定义提供程序的程序集甚至没有加载。因此,这个问题似乎与web.config设置被忽略有关。

我自己的项目也有同样的问题。我用Fusion日志验证了包含自定义提供程序的程序集甚至没有加载。因此,问题似乎与web.config设置被忽略有关。

要在Azure SKD 1.3上运行PhluffyFotos示例,您必须满足以下条件:

  • 将引用Microsoft.WindowsAzure.StorageClient从1.0更改为1.1

  • 将“GetConfigurationSettingValue”移动到Global.asax“应用程序启动”事件

  • 将与角色相关的初始化移动到Global.asax“Application_BeginRequest”事件,但必须确保它只执行一次。例如:

    私有静态对象门=新对象(); 私有静态bool initialized=false

    protected void Application_BeginRequest()
    {
        if (initialized)
        {
            return;
        }
    
    
    
    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;
        }
    }
    
    }

  • 要在Azure SKD 1.3上运行PhluffyFotos示例,必须执行以下操作:

  • 将引用Microsoft.WindowsAzure.StorageClient从1.0更改为1.1

  • 将“GetConfigurationSettingValue”移动到Global.asax“应用程序启动”事件

  • 将与角色相关的初始化移动到Global.asax“Application_BeginRequest”事件,但必须确保它只执行一次。例如:

    私有静态对象门=新对象(); 私有静态bool initialized=false

    protected void Application_BeginRequest()
    {
        if (initialized)
        {
            return;
        }
    
    
    
    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;
        }
    }
    
    }

  • 我在这里向rapidshare发布了一个带有Peter建议的修复程序的代码版本:

    对于那些不想在修复依赖项等方面大惊小怪的人

    干杯,
    Daniel

    我在这里发布了一个版本的代码,其中包含Peter向rapidshare建议的修复程序:

    对于那些不想在修复依赖项等方面大惊小怪的人

    干杯,
    丹尼尔

    “我对这部分有问题”--你有例外吗?如果是,什么?如果没有,您看到的问题是什么?是“角色”对象未解决。它说找不到ApplicationName。嘿,有人在用Azure!我已经等了一段时间了。Cr*p,不知道答案。“我对这部分有问题”——你有例外吗?如果是,什么?如果没有,您看到的问题是什么?是“角色”对象未解决。它说找不到ApplicationName。嘿,有人在用Azure!我已经等了一段时间了。我不知道答案。是的,我的想法是一样的。未加载配置。也许是SDK错误或者市长的改变?是的,我的想法是一样的。未加载配置。可能是SDK错误或是一些改变?