C# ASP.NET Core 2.0无法连接到任何指定的mysql主机Azure Web

C# ASP.NET Core 2.0无法连接到任何指定的mysql主机Azure Web,c#,mysql,azure,asp.net-core,azure-web-app-service,C#,Mysql,Azure,Asp.net Core,Azure Web App Service,我目前正在一个连接到外部MySQL数据库的平台上工作。当我尝试从Azure web应用程序连接到数据库时,问题就出现了。我的电脑从来没有出现过这个问题,所以我想知道Azure是否是问题所在。我收到一个随机错误消息,无法每30分钟连接到任何指定的MySQL主机 我正在使用asp.net核心MySQL驱动程序和dapper来查询数据库 public class MySqlContext : IMySqlContext { private readonly string _connection

我目前正在一个连接到外部MySQL数据库的平台上工作。当我尝试从Azure web应用程序连接到数据库时,问题就出现了。我的电脑从来没有出现过这个问题,所以我想知道Azure是否是问题所在。我收到一个随机错误消息,无法每30分钟连接到任何指定的MySQL主机

我正在使用asp.net核心MySQL驱动程序和dapper来查询数据库

public class MySqlContext : IMySqlContext
{
    private readonly string _connectionString;

    public FrigoAppContext(IConfiguration configuration)
    {
        _connectionString = configuration["ConnectionStrings:DefaultConnection"];
    }

    public MySqlConnection GetConnection()
    {
        return new MySqlConnection(_connectionString);
    }
}


public class FacturasVentaService : IFacturasVenta
    {
        private readonly IMySqlContext _context;

        public FacturasVentaService(IMySqlContext context)
        {
            _context = context;
        }

        public IQueryable<FacturaVenta> GetAll()
        {
            using (var connection = _context.GetConnection())
            {
                var query = @"SELECT id Id, idpedido IdPedido, idromaneio IdRomaneio,
                        data_emissao DataEmissao, cliente Cliente, vendedor Vendedor, 
                        documento Documento, documento_remessa DocumentoRemessa, observacao Observacion,
                        transportadora Transportadora, motorista Motorista, placa_frete_terrestre PlacaFreteTerrestre,
                        excluido Excluido, data_entregado DataEntregado, ruc Ruc, timbrado Timbrado, endereco Direccion,
                        sigla_moeda SiglaMoneda, idfilial IdFilial, entregado Entregado, data_vencimento DataVencimiento FROM faturamento_venda";
                return connection.Query<FacturaVenta>(query).AsQueryable();
            }
        }

        public IQueryable<FacturaVenta> GetWhere(string where, object param = null)
        {
            using (var connection = _context.GetConnection())
            {
                var query = @"SELECT id Id, idpedido IdPedido, idromaneio IdRomaneio,
                        data_emissao DataEmissao, cliente Cliente, vendedor Vendedor, 
                        documento Documento, documento_remessa DocumentoRemessa, observacao Observacion,
                        transportadora Transportadora, motorista Motorista, placa_frete_terrestre PlacaFreteTerrestre,
                        excluido Excluido, data_entregado DataEntregado, ruc Ruc, timbrado Timbrado, endereco Direccion,
                        sigla_moeda SiglaMoneda, idfilial IdFilial, entregado Entregado, data_vencimento DataVencimiento FROM faturamento_venda WHERE " + where;
                return connection.Query<FacturaVenta>(query, param).AsQueryable();
            }
        }

        public FacturaVenta GetById(int id)
        {
            using (var connection = _context.GetConnection())
            {
                var query = @"SELECT id Id, idpedido IdPedido, idromaneio IdRomaneio,
                        data_emissao DataEmissao, cliente Cliente, vendedor Vendedor, 
                        documento Documento, documento_remessa DocumentoRemessa, observacao Observacion,
                        transportadora Transportadora, motorista Motorista, placa_frete_terrestre PlacaFreteTerrestre,
                        excluido Excluido, data_entregado DataEntregado, ruc Ruc, timbrado Timbrado, endereco Direccion,
                        sigla_moeda SiglaMoneda, idfilial IdFilial, entregado Entregado, data_vencimento DataVencimiento FROM faturamento_venda WHERE id = @Id;";
                return connection.Query<FacturaVenta>(query, new { Id = id }).FirstOrDefault();
            }
        }

        public int Insert(FacturaVenta factura)
        {
            using (var connection = _context.GetConnection())
            {
                var query = @"INSERT INTO faturamento_venda(idpedido, 
                        idromaneio, data_emissao, cliente, vendedor,
                        documento, documento_remessa DocumentoRemessa, observacao, 
                        transportadora, motorista, placa_frete_terrestre,
                        excluido, data_entregado) VALUES(@IdPedido, @IdRomaneio, @DataEmissao, @Cliente, @Vendedor,
                        @Documento, @DocumentoRemessa, @Observacao, @Transportadora, @Motorista, @PlacaFreteTerrestre, @Excluido, @DataEntregado)";
                return connection.Execute(query, factura);
            }
        }

        public bool Update(FacturaVenta factura)
        {
            using (var connection = _context.GetConnection())
            {
                var query = @"UPDATE faturamento_venda SET idpedido=@IdPedido, 
                        idromaneio=@IdRomaneio, data_emissao=@DataEmissao, cliente=@Cliente, vendedor=@Vendedor,
                        documento=@Documento, documento_remessa=@DocumentoRemessa, observacao=@Observacao, 
                        transportadora=@Transportadora, motorista=@Motorista, placa_frete_terrestre=@PlacaFreteTerrestre,
                        excluido=@Excluido, data_entregado=@DataEntregado;";
                return connection.Execute(query, factura) > 0;
            }
           
        }

        public bool Delete(FacturaVenta factura)
        {
            using (var connection = _context.GetConnection())
            {
                return connection.Execute("DELETE FROM faturamento_venda WHERE id = @Id", new { factura.Id }) > 0;
            }
        }

        public void Create(FacturaVenta factura)
        {
            
        }

        public int Execute(string query, object param)
        {
            using (var connection = _context.GetConnection())
            {
                return connection.Execute(query, param);
            }
        }
    }
公共类MySqlContext:IMySqlContext { 私有只读字符串_connectionString; 公共FrigoAppContext(IConfiguration配置) { _connectionString=配置[“connectionString:DefaultConnection”]; } 公共MySqlConnection GetConnection() { 返回新的MySqlConnection(_connectionString); } } 公共类制造服务:IFacturasVenta { 私有只读IMySqlContext\u context; 公共事实服务(IMySqlContext) { _上下文=上下文; } 公共IQueryable GetAll() { 使用(var connection=\u context.GetConnection()) { var query=@“选择id、idpedido idpedido、idromaneio idromaneio、, 数据_emissao数据emissao,客户客户,卖方或卖方, 文档,文档,文档, 运输公司运输公司运输公司运输公司运输公司运输公司运输公司运输公司, excluido excluido,data_entregado DataEntregado,ruc ruc,timbrado timbrado,endereco Direccion, sigla_moeda SiglaMoneda,Ifilial Ifilial,Entergado Entergado,faturamento_venda提供的数据”; 返回connection.Query(Query.AsQueryable(); } } 公共IQueryable GetWhere(字符串where,对象参数=null) { 使用(var connection=\u context.GetConnection()) { var query=@“选择id、idpedido idpedido、idromaneio idromaneio、, 数据_emissao数据emissao,客户客户,卖方或卖方, 文档,文档,文档, 运输公司运输公司运输公司运输公司运输公司运输公司运输公司运输公司, excluido excluido,data_entregado DataEntregado,ruc ruc,timbrado timbrado,endereco Direccion, sigla_moeda SiglaMoneda,Ifilial Ifilial,Entergado Entergado,来自faturamento_venda的数据,其中“+其中; 返回connection.Query(Query,param).AsQueryable(); } } 公共事务事务代理GetById(内部id) { 使用(var connection=\u context.GetConnection()) { var query=@“选择id、idpedido idpedido、idromaneio idromaneio、, 数据_emissao数据emissao,客户客户,卖方或卖方, 文档,文档,文档, 运输公司运输公司运输公司运输公司运输公司运输公司运输公司运输公司, excluido excluido,data_entregado DataEntregado,ruc ruc,timbrado timbrado,endereco Direccion, sigla_moeda SiglaMoneda,Ifilial Ifilial,Entergado Entergado,来自faturamento_venda的数据,其中id=@id;“; 返回connection.Query(Query,new{Id=Id}).FirstOrDefault(); } } 公共内部插页(FacturaVenta factura) { 使用(var connection=\u context.GetConnection()) { var query=@“插入faturamento_venda(idpedido, idromaneio、data_emissao、客户、卖方、, 文档,文档,文档, 运输公司、摩托利斯塔、弗里特岛、, 不包括,数据输入)值(@IdPedido、@IdRomaneio、@DataEmissao、@Cliente、@Vendedor、, @Documento、@DocumentoRemessa、@observaco、@Transportadora、@Motorista、@placafreterestre、@Excluido、@DataEntregado)”; 返回连接。执行(查询、factura); } } 公共布尔更新(FacturaVenta factura) { 使用(var connection=\u context.GetConnection()) { var query=@“更新faturamento_venda集合idpedido=@idpedido, idromaneio=@idromaneio,data_emissao=@DataEmissao,cliente=@cliente,vendedor=@vendedor, documento=@documento,documento_remessa=@DocumentoRemessa,observacao=@observacao, transportadora=@transportadora,motorista=@motorista,placa_frete_terrestre=@Placafreterestre, excluido=@excluido,data_entregado=@DataEntregado;“; 返回连接.Execute(query,factura)>0; } } 公共布尔删除(FacturaVenta factura) { 使用(var connection=\u context.GetConnection()) { 返回connection.Execute(“DELETE FROM faturamento_venda,其中id=@id”,new{factura.id})>0; } } 公共无效创建(FacturaVenta factura) { } 公共int执行(字符串查询,对象参数) { 使用(var connection=\u context.GetConnection()) { 返回连接。执行(查询,参数); } } } 一切都是在一个暂时的范围内注入的

我正在使用MySql.Data8.0.11和Dapper1.50.4