- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始使用异步和任务,我的代码已停止处理。当我有一个传入的网络数据包并且我尝试与数据包处理程序内的数据库进行通信时,就会发生这种情况。
public class ClientConnectedPacket : IClientPacket
{
private readonly EntityFactory _entityFactory;
public ClientConnectedPacket(EntityFactory entityFactory)
{
_entityFactory= entityFactory;
}
public async Task Handle(NetworkClient client, ClientPacketReader reader)
{
client.Entity = await _entityFactory.CreateInstanceAsync( reader.GetValueByKey("unique_device_id"));
// this Console.WriteLine never gets reached
Console.WriteLine($"Client [{reader.GetValueByKey("unique_device_id")}] has connected");
}
}
if (_packetRepository.TryGetPacketByName(packetName, out var packet))
{
await packet.Handle(this, new ClientPacketReader(packetName, packetData));
}
else
{
Console.WriteLine("Unknown packet: " + packetName);
}
public async Task<Entity> CreateInstanceAsync(string uniqueId)
{
await using (var dbConnection = _databaseProvider.GetConnection())
{
dbConnection.SetQuery("SELECT COUNT(NULL) FROM `entities` WHERE `unique_id` = @uniqueId");
dbConnection.AddParameter("uniqueId", uniqueId);
var row = await dbConnection.ExecuteRowAsync();
if (row != null)
{
return new Entity(uniqueId, false);
}
}
return new Entity(uniqueId,true);
}
public DatabaseConnection GetConnection()
{
var connection = new MySqlConnection(_connectionString);
var command = connection.CreateCommand();
return new DatabaseConnection(_logFactory.GetLogger(), connection, command);
}
public DatabaseConnection(ILogger logger, MySqlConnection connection, MySqlCommand command)
{
_logger = logger;
_connection = connection;
_command = command;
_connection.Open();
}
Console.WriteLine
_connection.Open();
最佳答案
我运行了一个 POC 项目,在 .NET Core 3.1 控制台应用程序上使用 MySql.Data 8.0.19 和 MySqlConnector 0.63.2 旋转 100 个并行任务。我在每个任务的上下文中创建、打开和处理连接。两个提供程序都运行完成,没有错误。
具体是 MySql.Data 查询运行 同步尽管库提供了异步方法签名,例如ExecuteReaderAsync() 或 ExecuteScalarAsync(),而 MySqlConnector 真正运行 异步 .
你可能会遇到:
关于c# - 打开 MySqlConnection 时没有抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61081569/
这是我在 Visual Studio 中连接到 Unity3d 的代码: public void SetupSQLConnection() { Debug.Log("Connection Fu
当我将我的应用程序上传到服务器进行测试时,我遇到了这个奇怪的莫名其妙的错误。我查了一下,好像是MySql.Data冲突导致的,我上传的副本是:6.3.7.0。 我该如何解决这个问题?我以为只要将它放入
从 OleDB 更改为 MySqlConnect 后,我遇到了 ExecuteNonQuery 在 UPDATE sql 中抛出错误的问题 - 现有代码工作正常,使用提交的 OleDB 行更新访问
我是 vb.net 和 mysql 的新手。 当我将 Dim SQLConnection 定义为 MySqlConnection = New MySqlConnection 时,我感到很困惑。 它说新
我看过一个使用MySqlConnection变量名称= new MySqlConnection(connection string);的教程 但是当我在 Visual Studio Express 2
我是 php 语法的新手,正在寻找有关创建最可接受或最正确代码的建议。我专注于前端设计,但我喜欢确保我的代码是正确的。我在一个数字媒体项目中,我的导师给了我们这个连接到我们的 MYSQL 数据库的代码
如果 MySQL 连接的 CertificatePassword 或 CertificateFile 不正确,则会导致我的应用程序崩溃。这是一个问题的原因是用户是输入连接信息的人。这意味着,如果他们输
我有一个应用程序可以触发 mysql 命令(查询)“显示数据库”,查询有效并正确返回,但我无法关闭连接。我使用的用户同时允许 24 个连接,因此问题在我的程序中进一步弹出,但将允许的连接减少到 2 表
我正在从 C# 应用程序查询。我可以这样做: MySqlConnection conn = new MySqlConnection(conString); conn.Open(); //do data
我试图在主窗体中打开一个 MySQL 连接。但是,O 在尝试以其他形式使用连接时遇到了问题。 我应该如何设置才能在整个程序中只需要打开一次连接,并使用同一个连接从数据库中获取数据。 或者我应该在每个表
我刚开始使用异步和任务,我的代码已停止处理。当我有一个传入的网络数据包并且我尝试与数据包处理程序内的数据库进行通信时,就会发生这种情况。 public class ClientConnectedPac
我用 Hangfire 创建了一个 RecurringJob,但是当这个工作完成时我得到了以下错误: ERROR 2018-12-05 15:20:05,982 [fc937] Hangfire.Au
这是我的 Mysql 类: public class MysqlConnection { public Connection MysqlConnect() { String u
我正在创建一个连接到 SQL 数据库的桌面应用程序。由于某种原因,我在连接到数据库时遇到问题,连接无限期地挂起,而没有给出错误(没有像应有的超时)。我的数据库使用 XAMPP。我在谷歌上广泛搜索了这个
我目前正在开发游戏服务器,它使用 MySQL 进行存储。 问题是:如果我将 MySQL 连接保持空闲状态,我认为这会导致它超时? 如果是,关闭连接空闲超时是否明智且可能?或者也许我应该在每次查询之前检
我正在开发 Xamarin.Android 应用程序,并且正在使用远程 MySql 数据库 (AWS)。连接工作得很好,没有任何问题。但是当用户没有连接(使用飞行模式测试)时,它会崩溃,我无法捕捉到它
我正在尝试创建一个函数来检查是否选中了复选框,如果选中,则返回新的 MySqlConnection,否则返回不同 MySqlConnection 的值。其实应该很简单,但我没有办法让它工作。 当我在没
我在 AWS 上托管一个 Aurora MySql 实例,并尝试通过 Lambda 函数从中读取表。 这是我的连接字符串: Server=xxx.xxx.xxx4.xxx; port=3306; da
我的类库无法使用 MySql .net 连接器建立 mysql 连接。如果我通过使用类库的命令行控制台应用程序运行它,它可以连接。但当我使用 PHP COM 加载/运行 .net 程序集时,它失败了。
我将 Max Pool Size=50 添加到连接字符串中。这似乎没有帮助。 我收到一个错误dreamhost2.vshost.exe 错误:0:用户 gensurv_general 已拥有超过“ma
我是一名优秀的程序员,十分优秀!