我在做问题
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/