如何在Visual Studio Asp.Net模板中获取OpenAuth的连接定义

时间:2013-10-03 09:58:42

标签: dotnetopenauth

有人能告诉我OpenAuth的连接细节在哪里定义?

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

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

我发现这很难。

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

有人知道吗?

2 个答案:

答案 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"/>