Azure SQL не является службой HTTP / s - он запускает собственный протокол SQL Server на порту 1433, как и локальные версии SQL Server.
Если вы пытаетесь подключиться напрямую к SQL Serverиз приложения Xamarin вы почти наверняка совершаете ошибку.Для этого потребуется предоставить учетные данные для вашего приложения Xamarin, которое может подключить напрямую к вашей базе данных, что открывает вашу базу данных для злоумышленника, который может делать практически все, что он хочет.Причина, по которой этот вид двухуровневого приложения опасен, заключается в том, что приложение Xamarin работает на ненадежном устройстве (мобильном устройстве вашего пользователя), а злонамеренный пользователь может перехватывать любые данные, которые ваше приложение хранит в памяти, в том числе учетные данные вашей базы данных.Затем они могут использовать эти учетные данные, чтобы получить доступ к вашей базе данных.Если бы вы не использовали уникальные учетные данные базы данных для каждого пользователя (очень непрактично) и не устанавливали очень строгие роли безопасности в SQL Server, было бы невозможно помешать злоумышленнику получить доступ к базе данных для всех ваших других пользователей (что оченьочень плохой).Другая проблема заключается в том, что многие сети блокируют трафик через порт 1433 или разрешают доступ только через прокси-сервер HTTPS, поэтому ваше приложение не будет работать во многих сетях, если оно попытается подключиться напрямую к SQL.
Это ответ на ваш вопрос, но, пожалуйста, не делайте этого: Если вы уверены, что правильно позаботились о безопасности, вы сможете установить пакет System.Data.SqlClient
nuget и использовать его для связи.с SQL Server, как это было бы с любым приложением .NET.Вот пример кода от Microsoft.
Это мое мнение о том, что вы должны сделать вместо этого: правильный правильный способ для большинства приложений Xamarin взаимодействовать с базой данных SQL Azure будет через промежуточный сервер приложений.
Если ваше приложение обращается к данным, относящимся к конкретному пользователю, в нем должны быть указаны учетные данные для каждого пользователя (имя пользователя и пароль, которые обмениваются на токен авторизации, когда пользователь входит в систему, является обычной техникой).Затем приложение Xamarin будет использовать HTTPS для отправки запросов на сервер приложений с использованием этих учетных данных пользователя.Сервер приложений будет проверять учетные данные пользователя (проверять подлинность их правомерности и авторизовать запрашиваемые данные на основе того, кто является пользователем) и отправлять запросы в Azure SQL.
Если ваше приложение только анонимно обращается к общедоступным данным, тогдавы можете отправлять неаутентифицированные запросы на сервер приложений, который будет слепо запрашивать эти данные из Azure SQL и возвращать их вашему клиенту (хотя он также будет возвращать те же данные любому злоумышленнику в Интернете, поэтому будьте уверены, что при использовании этого подхода вы намереваетесьвсе данные должны быть общедоступны для всего мира).
В обоих случаях ваш сервер приложений будет единственным компонентом, который взаимодействует с Azure SQL.Для приложения .NET это обычно делается через System.Data.SqlClient
или, возможно, косвенно через ORM, такой как Entity Framreworks.Преимущество этого трехуровневого подхода заключается в том, что уровень ненадежных клиентов не имеет неограниченного доступа к уровню вашей базы данных.Только средний уровень сервера приложений имеет учетные данные для SQL Server, и он является доверенным и работает в защищенной среде (сервер, которым вы управляете, а не мобильное устройство конечного пользователя).Это означает, что злоумышленник не может перехватить учетные данные базы данных и злоупотреблять ими.Это также означает, что вашему приложению требуется только доступ к данным по протоколу HTTPS, поэтому ваше приложение будет работать практически в любой сети.
Это, вероятно, не тот ответ, который вы ищете, поскольку он включает в себя создание всего сервера приложений, которыйдолжен быть размещен вами (служба приложений Azure будет моей рекомендацией, если вы уже используете Azure SQL).Это также требует от вас реализации API на сервере, а затем написания API-клиента для вашего приложения Xamarin.Это немалый объем работы.