1

谁能告诉我 OpenAuth 的连接详细信息在哪里定义?

我知道它需要一个名为“DefaultConnection”的连接字符串,它在 web.config 中作为默认值提供,但是我找不到 OpenAuth 定义它需要一个连接字符串调用 DefaultConnection 的位置。

在 web.config 中,如果您将 DefaultConnection 的名称更改为其他名称,然后更改成员资格、角色管理器和配置文件部分中的 ConnectionString 以匹配您的新 connectionString,一切仍然如您所愿。但是,OpenAuth 将不再工作,因为它需要一个名为 DefaultConnection 的连接字符串,但它不会在构建时为您提供合理的错误消息,而是在运行时您将收到一条非常长且复杂的错误消息,指出它找不到数据库等

我发现这很难。

目前为了解决这个问题,我有两个具有相同细节的连接字符串,这是毫无意义的。

有人知道吗?

4

2 回答 2

0

静态类OpenAuth有一个名为 的静态字符串属性ConnectionString。它在构造函数中被初始化为“DefaultConnection”的硬编码值OpenAuth。之后,您可以随时将其设置为您自己的值。

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; }
        //....
    }
}
于 2013-10-15T14:50:30.497 回答
0

如果您只是将默认连接字符串添加到您的网络配置中,它将起作用。这与您用于连接数据库的常规方法相同。

<add name="DefaultConnection" 
providerName="System.Data.SqlClient" 
connectionString="Data Source=xxxx;Initial Catalog=yyy;
Persist Security Info=True;User ID=your username;Password=password"/>
于 2014-03-22T18:11:32.483 回答