Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试从gitpod IDE(ubuntu服务器)连接MySql数据库时出现套接字异常_C#_Mysql_Ubuntu_Database Connection_Gitpod - Fatal编程技术网

C# 尝试从gitpod IDE(ubuntu服务器)连接MySql数据库时出现套接字异常

C# 尝试从gitpod IDE(ubuntu服务器)连接MySql数据库时出现套接字异常,c#,mysql,ubuntu,database-connection,gitpod,C#,Mysql,Ubuntu,Database Connection,Gitpod,我正在使用gitpod在线IDE(浏览器中的vs代码,后面有一个ubuntu linux服务器)。 我正在努力在另一台linux(CentOS)服务器上创建与mysql数据库的连接。我已将db服务器上的远程MySql主机设置为“%”=>“允许所有” 我正在使用MySql连接器包:连接到它。 这就是我的代码的样子: public async Task<List<User>> GetUsersAsync() { List<User> readUsers

我正在使用gitpod在线IDE(浏览器中的vs代码,后面有一个ubuntu linux服务器)。 我正在努力在另一台linux(CentOS)服务器上创建与mysql数据库的连接。我已将db服务器上的远程MySql主机设置为“%”=>“允许所有”

我正在使用MySql连接器包:连接到它。 这就是我的代码的样子:

public async Task<List<User>> GetUsersAsync()
{
      List<User> readUsers = new List<User>();
      string connection = "server=myserverip;database=db;user=user;password=pwd";
      using (MySqlConnection con = new MySqlConnection(connection))
      {
           MySqlCommand cmd = new MySqlCommand("SELECT * FROM admin", con);
           cmd.CommandType = CommandType.Text;
           con.Open();

           MySqlDataReader rdr = cmd.ExecuteReader();
           while(rdr.Read())
           {
               User user = new User();
               user.ID = Convert.ToInt32(rdr["ID"]);
               user.Username = rdr["Username"].ToString();
               user.Password = rdr["Password"].ToString();
               readUsers.Add(user);
           }
      }
      return readUsers;
}  
public异步任务GetUsersAsync()
{
List readUsers=new List();
string connection=“server=myserverip;database=db;user=user;password=pwd”;
使用(MySqlConnection con=newmysqlconnection(connection))
{
MySqlCommand cmd=新的MySqlCommand(“从管理中选择*”,con);
cmd.CommandType=CommandType.Text;
con.Open();
MySqlDataReader rdr=cmd.ExecuteReader();
while(rdr.Read())
{
用户=新用户();
user.ID=Convert.ToInt32(rdr[“ID”]);
user.Username=rdr[“Username”].ToString();
user.Password=rdr[“Password”].ToString();
readUsers.Add(用户);
}
}
返回readUsers;
}  
当然,连接字符串除了上面显示的值之外还有其他值(因为安全原因)。 我遇到了以下错误,但我不知道如何解决它们,也不知道问题到底是什么:


我不知道如何继续或现在尝试什么。

从调用堆栈来看,您似乎正在使用Blazor将代码编译为wasm。此代码在浏览器中运行,并受浏览器沙盒的所有限制。更具体地说,浏览器无法打开TCP套接字进行网络通信

更多背景信息如下:

Blazor在浏览器沙箱中运行,不能做比javascript在网络方面更多的事情。所以技术上这是不可能的

以及:

无法在浏览器中工作的TCP网络API,因为JavaScript不公开原始TCP网络功能。这自然会导致堆栈中较低位置的运行时失败

这就是为什么您会得到一个
平台NotSupportedException

要解决这个问题,您需要重新构建代码,以便MySQL连接由web服务器上运行的代码建立,Blazor代码发出HTTP请求(到web API)以调用执行数据库操作的服务器端代码