ResetPassword上的Asp.Net Identity 2.0无法连接到Azure Web应用程序上的SQL Server database.Error

时间:2017-09-18 15:35:17

标签: azure-sql-database azure-web-sites asp.net-identity-2

我在发布到Azure服务器后尝试重置密码时收到此错误。但是,它适用于localhost,所有其他功能都在实时工作,如Register,ConfirmEmail和Login ..等。 错误:

Unable to connect to SQL Server database. Method Message:, LogException: System.Web.HttpException: Unable to connect to SQL Server database. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

我在azure中的连接字符串如下:

Server=tcp:server.database.windows.net,1433;Database=MyDb;User ID=username;Password=password;Trusted_Connection=False;Encrypt=True 

选项Custom

1 个答案:

答案 0 :(得分:0)

  

我在发布到Azure服务器后尝试重置密码时收到此错误。但是,它适用于localhost,所有其他功能都在工作,如Register,ConfirmEmail和Login ..等错误:

Unable to connect to SQL Server database.

所有功能/操作RegisterLoginRestPassword应该连接到同一个SQL Server数据库,只有休息密码操作才会返回错误,这很奇怪。我不能在我这边重现这个问题,请使用Azure SQL数据库为本地应用程序指定连接字符串名称,并在本地应用程序中执行RestPassword操作,并检查它是否仍适用于本地。

请检查 DbContext 的数据库连接字符串是否是您要使用的数据库连接字符串以及数据库是否可访问。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {

    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

此外,正如我在评论中提到的,您可以尝试remote debug your web app检查控制器操作中DbContext的实际连接,并确保这些RegisterLogin和{{ 1}}操作正在连接到同一个SQL Server数据库。