有人能告诉我OpenAuth的连接细节在哪里定义?
我知道它需要一个名为“DefaultConnection”的连接字符串并提供 作为web.config中的默认值,但我找不到OpenAuth定义它需要连接字符串调用DefaultConnection的位置。
在web.config中,如果您将DefaultConnection的名称更改为其他名称,然后更改成员资格,角色管理器和配置文件部分中的ConnectionString以匹配您的新connectionString,一切仍然可以正常工作。但是,OpenAuth将不再起作用,因为它需要一个名为DefaultConnection的连接字符串,但它不会在构建时给出合理的错误消息,而是在运行时,您将收到一条非常长且复杂的错误消息,指出它无法找到数据库等。
我发现这很难。
目前为了解决这个问题,我有两个具有相同细节的连接线,这是毫无意义的。
有人知道吗?
答案 0 :(得分:0)
静态类OpenAuth
具有名为ConnectionString
的静态字符串属性。它被初始化为OpenAuth
构造函数中“DefaultConnection”的硬编码值。您可以在此之后随时将其设置为您自己的值。
namespace Microsoft.AspNet.Membership.OpenAuth
{
public static class OpenAuth
{
public static AuthenticationClientManager AuthenticationClients { get; }
public static string ConnectionString { get; set; }
public static string UsersAccountsTableName { get; set; }
public static string UsersDataTableName { get; set; }
//....
}
}
答案 1 :(得分:0)
如果您只是将默认连接字符串添加到您的Web配置,它将起作用。这与用于连接数据库的常规方法相同。
<add name="DefaultConnection"
providerName="System.Data.SqlClient"
connectionString="Data Source=xxxx;Initial Catalog=yyy;
Persist Security Info=True;User ID=your username;Password=password"/>