Web App Access SQL с использованием управляемой идентификации - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь соединить мой SQL Azure и мое веб-приложение, используя C # .net, используя управляемую идентификацию. Это мое первое использование Managed Identity, и я просто следую этому руководству «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" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...