WebSecurity.InitializeDatabaseConnection和ServiceConfiguration,Azure

时间:2013-10-21 08:53:56

标签: c# azure web-config connection-string

我有问题

WebSecurity.InitializeDatabaseConnection(string connectionStringName, string userTableName, string userIdColumn, string userNameColumn, bool autoCreateTables)

在Windows Azure中配置ServiceConfiguration。[env]。

问题是 WebSecurity.InitializeDatabaseConnection 采用字符串connectionStringName ,当我在 connectionStringName 中传递 InitializeDatabaseConnection 方法它只在web.config中查找相应的值。

我知道如何从connectionStringName获取connectionstring,我可以使用

  var connectionString =  CloudConfigurationManager.GetSetting("connectionStringName");

但是, InitializeDatabaseConnection 需要参数 connectionStringName 而不是 connectionString ,因此我需要它在ServiceConfiguration中查找相应的值来查找给定参数(connectionStringName)。

所以我的问题是: 是否可以使用ServiceConfiguration。[env] .cscfg for WebSecurity.InitializeDatabaseConnection并让它在给定名称的ServiceConfiguration中查找值? 如果是这样,如何使其有效?

1 个答案:

答案 0 :(得分:2)

您需要使用InitializeDatabaseConnection的其他重载并将其传递给提供者名称:

public static void InitializeDatabaseConnection(
            string connectionString, 
            string providerName, 
            string userTableName, 
            string userIdColumn, 
            string userNameColumn, 
            bool autoCreateTables)

例如:

WebSecurity.InitializeDatabaseConnection(RoleEnvironment.GetConfigurationSettingValue("connectionStringName"), "System.Data.SqlClient", "UserProfile", "UserId", "UserName", true);