SQL Класс подключения не подключается при запуске из приложения Blazor - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь использовать следующий код для запроса базы данных с веб-страницы Blazor, исключение выглядит следующим образом:

Ошибка при установке подключение к SQL Серверу. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Сервер настроен на разрешение удаленных подключений. (поставщик: SQL Сетевые интерфейсы, ошибка: 44 - Не удалось составить имя участника-службы (SPN) для Windows интегрированной аутентификации. Возможные причины: сервер (ы) неправильно указаны для вызовов API подключения, поиск в системе доменных имен (DNS) сбой или нехватка памяти)

System.PlatformNotSupportedException: System. Net .Dns: GetHostByName не поддерживается на этой платформе.

в System. Net .Dns.GetHostByName (System. String hostName) <0x38c58e8 + 0x0001 c> in: 0 ...

Когда я запускаю тот же код в традиционном веб-приложении или консольном приложении, соединение открывается / закрывается мгновенно.

public class MySQLHelper
{
    public static SqlConnection GetConnection()
    {           
        string m_connectionString = "connection string here";
        SqlConnection sqlConn = new SqlConnection(m_connectionString);
        sqlConn.Open(); // fails to open when called from a regular registered 'service' in Blazor

        return sqlConn;
    }
}

Мысли?

Ответы [ 2 ]

3 голосов
/ 30 мая 2020

System.PlatformNotSupportedException:

Указывает, что вы пытаетесь это сделать из приложения Blazor WebAssembly.

Многие API не поддерживаются (не могут поддерживаться) на Wasm, Blazor ограничен правилами безопасности браузера.

Вы не можете получить доступ к базе данных напрямую из WebAssembly (или JavaScript).

Либо используйте JS IndexDb для небольших баз данных на клиентском компьютере (что означает, что они не используются совместно), либо используйте сервер для доступа к данным. Взгляните на модели проекта «Blazor Server» или «Blazor WebAssembly Hosted».

2 голосов
/ 30 мая 2020

Вы можете использовать Entity framework

Посетите https://www.c-sharpcorner.com/article/create-a-single-page-app-with-blazor-server-and-entity-framework-core-3-0/

...