InitializeDatabaseConnection

InitializeDatabaseConnection

我在做问题

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


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

问题是WebSecurity.InitializeDatabaseConnection接受字符串connectionStringName,而当我为InitializeDatabaseConnection方法传入我的connectionStringName时,它仅在web.config中寻找相应的值。

我知道如何从connectionStringName获取连接字符串,我可以使用

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


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

所以我的问题是:
是否可以将ServiceConfiguration。[env] .cscfg用于WebSecurity.InitializeDatabaseConnection,并让其从给定名称中查找ServiceConfiguration中的值?
如果是这样,如何使其工作?

最佳答案

您需要使用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);

关于c# - WebSecurity.InitializeDatabaseConnection和ServiceConfiguration,Azure,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19490004/

10-10 13:04