【发布时间】:2020-09-17 23:41:27
【问题描述】:
我正在尝试使用以下代码从 Blazor 网页中查询数据库,异常如下
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SQL 网络接口,错误:44 - 无法为 Windows 集成身份验证编写服务主体名称 (SPN)。可能的原因是服务器未正确指定连接 API 调用、域名系统 (DNS) 查找失败或内存不足)
System.PlatformNotSupportedException:此平台不支持 System.Net.Dns:GetHostByName。
在 System.Net.Dns.GetHostByName (System.String hostName) in :0 ...
当我在传统的 Web 或控制台应用程序中运行相同的代码时,连接会立即打开/关闭。
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;
}
}
想法?
【问题讨论】:
-
Blazor 应用不应连接到 sql 服务器。这与任何最佳实践背道而驰,这并不好笑——它们应该连接到后端 API。如果有的话,那么出于安全原因。
标签: c# .net sql-server blazor