使用受管身份的Web App访问SQL

时间:2019-06-26 08:11:14

标签: c# .net azure azure-sql-database azure-web-app-service

我正在尝试使用托管身份使用C#.net连接SQL Azure和Web应用程序。这是我第一次使用托管身份,我只是在遵循本指南 “ https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-connect-msi

但是我遵循了它,但是我无法使其正常工作。我遇到了超时错误。希望这里的人可以在我的代码中回答我的一些问题。这是我的一些问题

  • 在指南中,它使用“ https://database.windows.net/”来获取令牌,是否应该更改它以便它可以在Azure中获取令牌?
  • 在我的代码中,尝试打开连接时始终出现以下错误
  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:TCP提供程序,错误:0-连接尝试失败,因为一段时间后连接方未正确响应,或者连接建立因连接主机未能响应而失败。)

这是我的快速测试代码

SqlDataReader reader = null;
myConnection.ConnectionString = ConfigurationManager.ConnectionStrings["MyDbConnection"].ConnectionString;
myConnection.AccessToken = (new AzureServiceTokenProvider()).GetAccessTokenAsync("https://database.windows.net/").Result;
SqlCommand sqlCmd = new SqlCommand("SELECT * FROM Persons WHERE PersonID=1; ", myConnection);
myConnection.Open();
reader = sqlCmd.ExecuteReader(CommandBehavior.SingleResult);
while (reader.Read())
{
    Persons person = new Persons
    {
        PersonID = int.Parse(reader["PersonID"].ToString()),
        LastName = reader["LastName"].ToString()
    };
    resuwww = person.LastName;
}
return resuwww;

我的ConnectionString是这个

<add name="MyDbConnection" connectionString="Server=tcp:SERVERNAME.database.windows.net,1433;" providerName="System.Data.SqlClient" />

0 个答案:

没有答案
相关问题