执行sql超时时间不生效 返回
SqlSugar
沟通中
3
376
悬赏:0 飞吻

internal class Program
{
static async Task Main(string[] args)
{
await TestTimeout();
}
static async Task TestTimeout()
{
var db = new SqlSugarClient(new ConnectionConfig
{
DbType = DbType.TDengine,
ConnectionString = "Host=localhost;Port=6030;Username=root;Password=taosdata;Database=testtimeout;TsType=config_ns;",
}, t =>
{
t.Ado.CommandTimeOut = 1;
});
db.DbMaintenance.CreateDatabase();
db.CodeFirst.InitTables<TestTimeoutEntity>();
while (true)
{
try
{
var now = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}";
Console.WriteLine($"{now} 开始插入");
var str = $"INSERT INTO `testtimeout_2` USING `testtimeout` TAGS ('1') (`ts`,`val`) VALUES ('{now}',{Random.Shared.Next(10, 20)})";
await db.Ado.ExecuteCommandAsync(str);
Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 插入完成");
}
catch (Exception e)
{
Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 异常");
}
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
}
[SugarTable("testtimeout")]
[STable(STableName = "testtimeout", Tag1 = nameof(Id))]
public class TestTimeoutEntity
{
[SugarColumn(IsPrimaryKey = true, SqlParameterDbType = typeof(DateTime19))]
public DateTime Ts { get; set; }
public long Id { get; set; }
public double Val { get; set; }
}tdengine正常运行时,停止tdengine服务,超时时间设置不生效
热忱回答(3)
-
fate sta VIP0
2025/7/24没有这个功能。。
0 回复 -
fate sta VIP0
2025/7/24
这个是源码,我暂时没找到可以实配置的地方
0 回复 -
511927343 VIP0
2025/7/24try { var cts = new CancellationTokenSource(); cts.CancelAfter(TimeSpan.FromSeconds(1)); var now = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}"; Console.WriteLine($"{now} 开始插入"); var str = $"INSERT INTO `testtimeout_2` USING `testtimeout` TAGS ('1') (`ts`,`val`) VALUES ('{now}',{Random.Shared.Next(10, 20)})"; await db.Ado.ExecuteCommandAsync(str,null,cts.Token); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 插入完成"); }执行sql的时候,传入CancellationToken也不生效,有什么办法可以实现超时抛异常吗?
0 回复