- 2026-07-27 V 1.0.0.3 Se habilita EnableRetryOnFailure en la conexion a la bd y se aumenta el timeout a 60 segundos

This commit is contained in:
2026-07-27 09:58:28 +02:00
parent cfad5e9ea2
commit 2c9db5146f
6 changed files with 38 additions and 24 deletions

View File

@@ -42,9 +42,9 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.7.1" />
<PackageReference Include="System.ServiceModel.Federation" Version="10.0.652802" />
<PackageReference Include="TSpdf.commons" Version="3.0.0" />
<PackageReference Include="TSpdfUtils" Version="3.0.0" />
<PackageReference Include="tsWPFCore" Version="1.3.11" />
<PackageReference Include="TSpdf.commons" Version="3.0.4" />
<PackageReference Include="TSpdfUtils" Version="3.0.4" />
<PackageReference Include="tsWPFCore" Version="1.4.2" />
</ItemGroup>
<ItemGroup>

View File

@@ -23,7 +23,7 @@
<PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageReference Include="tsCorreos" Version="1.0.7" />
<PackageReference Include="tsUtilidades" Version="1.1.18" />
<PackageReference Include="tsUtilidades" Version="1.1.22" />
</ItemGroup>
<ItemGroup>

View File

@@ -6,12 +6,13 @@
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>dotnet-WSAsegasa-3170e77c-9190-48a1-9c66-26323b65ac5d</UserSecretsId>
<RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers>
<Version>1.0.0.2</Version>
<AssemblyVersion>1.0.0.2</AssemblyVersion>
<Version>1.0.0.3</Version>
<AssemblyVersion>1.0.0.3</AssemblyVersion>
<Authors>Manuel</Authors>
<Company>Tecnosis S.A</Company>
<Description>Servicio de envío de facturas de asegasa al sistema Verifactu</Description>
<PackageReleaseNotes>
- 2026-07-27 V 1.0.0.3 Se habilita EnableRetryOnFailure en la conexion a la bd y se aumenta el timeout a 60 segundos
- 2026-06-15 V 1.0.0.2 Actualización librería tsUtilidades
- 2026-05-19 V 1.0.0.1 Se cambian los logs de correo a tsnotificaciones.
- 2026-05-19 V 1.0.0.0 Versión renombrada de wsasegasa a wsasegasaverifactu.
@@ -29,8 +30,8 @@
<PackageReference Include="System.ServiceModel.NetTcp" Version="8.1.2" />
<PackageReference Include="System.ServiceModel.Primitives" Version="8.1.2" />
<PackageReference Include="tsCorreos" Version="1.0.7" />
<PackageReference Include="tsUtilidades" Version="1.1.18" />
<PackageReference Include="tsVeriFactu" Version="2.4.2" />
<PackageReference Include="tsUtilidades" Version="1.1.22" />
<PackageReference Include="tsVeriFactu" Version="2.4.3" />
</ItemGroup>
<ItemGroup>

View File

@@ -16,7 +16,7 @@
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.3" />
<PackageReference Include="PropertyChanged.Fody" Version="4.1.0" />
<PackageReference Include="tsEFCore8" Version="1.0.5" />
<PackageReference Include="tsUtilidades" Version="1.1.18" />
<PackageReference Include="tsUtilidades" Version="1.1.22" />
</ItemGroup>
<ItemGroup>

View File

@@ -15,6 +15,7 @@ using static System.Net.Mime.MediaTypeNames;
using Microsoft.Extensions.Hosting;
using bdAsegasa.db;
using bdAsegasa.dbcontext;
using Pomelo.EntityFrameworkCore.MySql.Internal;
namespace bdAsegasa
{
@@ -56,10 +57,10 @@ namespace bdAsegasa
});
private static string? ConexionPorDefecto=null;
public static tscgestionasegasa NuevoContexto(string NombreConexion = "" ,bool Lazy = true, bool SoloLectura = false, bool ConEventoSavingChanges = false, string aplicaciones = "")
public static tscgestionasegasa NuevoContexto(string NombreConexion = "", bool Lazy = true, bool SoloLectura = false, bool ConEventoSavingChanges = false, string aplicaciones = "")
{
string? cnx = null;
if (NombreConexion=="")
string cnx;
if (string.IsNullOrEmpty(NombreConexion))
{
if (ConexionPorDefecto == null) ConexionPorDefecto = Conexion.ObtieneConexionDefecto();
cnx = ConexionPorDefecto;
@@ -69,20 +70,32 @@ namespace bdAsegasa
cnx = Conexion.ObtieneConexionDefecto(NombreConexion);
}
var ob = new DbContextOptionsBuilder<gestionasegasaContext>();
// ob.UseLoggerFactory(_myLoggerFactory);
// ob.UseInternalServiceProvider(<EnumeracionesService>)
ob.UseMySql(cnx, Microsoft.EntityFrameworkCore.ServerVersion.Parse("5.7.0-mysql"));
if (Lazy) ob.UseLazyLoadingProxies();
if (SoloLectura) ob.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
var Opciones = ob.Options;
tscgestionasegasa bd = new tscgestionasegasa(Opciones);
var optionsBuilder = new DbContextOptionsBuilder<gestionasegasaContext>();
// Ejemplo con Pomelo.EntityFrameworkCore.MySql
optionsBuilder.UseMySql(cnx, ServerVersion.Parse("5.7.0-mysql"), mySqlOptions =>
{
// Habilita reintentos transitorios (por defecto 3 reintentos)
mySqlOptions.EnableRetryOnFailure();
// Ajusta timeout de comando (segundos)
mySqlOptions.CommandTimeout(60);
// Si quieres controlar número de reintentos y backoff:
// mySqlOptions.EnableRetryOnFailure(maxRetryCount: 5, maxRetryDelay: TimeSpan.FromSeconds(5), errorNumbersToAdd: null);
});
if (Lazy) optionsBuilder.UseLazyLoadingProxies();
if (SoloLectura) optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
var opciones = optionsBuilder.Options;
var bd = new tscgestionasegasa(opciones);
bd.Aplicaciones = aplicaciones;
if (ConEventoSavingChanges) bd.SavingChanges += GuardandoCambios;
return bd;
}
//public static Datos.BBDD ObtieneBBDD(string NombreConexion)
private static void GuardandoCambios(object? sender, SavingChangesEventArgs e)

View File

@@ -9,6 +9,6 @@
<PackageReference Include="System.ServiceModel.Http" Version="8.*" />
<PackageReference Include="System.ServiceModel.NetTcp" Version="8.*" />
<PackageReference Include="System.ServiceModel.Primitives" Version="8.*" />
<PackageReference Include="tsUtilidades" Version="1.1.18" />
<PackageReference Include="tsUtilidades" Version="1.1.22" />
</ItemGroup>
</Project>