es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: ANGULAR-DEPENDENCY-INJECTION

Consumir servicio acotado desde Singleton

Mientras consumo un objeto con ámbito desde un singleton, no obtengo ningún error Según el siguiente artículo, debería recibir un error tan pronto como comience mi servicio: https://dotnetcoretutorials.com/2018/03/20/cannot-consume-scoped-service-from-singleton-a-lesson-in-asp-net-core-di-scopes/ Dependencia Registrada: builder.Services.AddScoped<ILogger, AppLogs>(); builder.Services.AddSingleton<ICacheFactory>(x => { string cacheConnectionString = "xyz"; return new CacheFactory(cacheConnectionString, x.GetService<ILogger>()); }); Consumido: public class Function1 { private . . . Read more

Unity & Zenject – Cómo ejecutar métodos en orden secuencial a partir de TSignal.Fire() Por favor, tenga en cuenta que TSignal es un tipo de señal proporcionado por Zenject, una extensión para Unity que facilita la inyección de dependencias y la gestión de objetos en el juego. Para ejecutar los métodos en orden secuencial a partir de TSignal.Fire(), puede seguir estos pasos: 1. Asegúrese de tener Zenject integrado en su proyecto de Unity. 2. Defina su TSignal. Puede hacerlo mediante la creación de una clase que herede de Signal en Zenject, donde T es el tipo de datos que desea pasar a los métodos. Ejemplo: “` using UnityEngine; using Zenject; public class MySignal : Signal { } “` En este ejemplo, MySignal es un TSignal que llevará un entero como argumento. 3. Cree un objeto que requiera inyección de dependencias para usar el TSignal. Puede ser un MonoBehavior o cualquier otro tipo de objeto. Ejemplo: “` using UnityEngine; using Zenject; public class MyObject : MonoBehaviour { private MySignal _mySignal; [Inject] public void Construct(MySignal mySignal) { _mySignal = mySignal; } public void Start() { _mySignal.Fire(42); // Dispara la señal con el argumento 42 } // Defina los métodos que desea ejecutar en orden secuencial public void Method1(int data) { Debug.Log(“Method1: ” + data); } public void Method2(int data) { Debug.Log(“Method2: ” + data); } } “` En el código anterior, hemos inyectado MySignal en MyObject y en el método Start() hemos disparado la señal con el argumento 42. Esto invocará los métodos Method1 y Method2 en el orden en el que fueron agregados al TSignal. Asegúrese de haber configurado correctamente Zenject en su proyecto y de proporcionar la lógica adecuada en los métodos para lograr el resultado deseado.

Estoy tratando de aprender a trabajar con Zenject y Unity, y me he encontrado con un problema particular que no sé si tiene una posible solución utilizando únicamente la API de Zenject. Supongamos que tengo el Método A, el Método B y el Método C, y una Señal A. ¿Es . . . Read more

Pregunta sobre el patrón de opciones y la inyección de dependencias.

Tengo el siguiente código en el código de inicio de un proyecto: “`c# public void ConfigureServices(IServiceCollection services) { … services .AddAppCommonServices(configuration) .AddSingleton<IKeyVaultClient, KeyVaultClient&gt(); <pre><code>IKeyVaultClient keyVaultClient = services.BuildServiceProvider().GetService<IKeyVaultClient>(); services.RegisterMonitoringTelemetry(keyVaultClient.GetSecretAsync(configuration[Consts.AppInsightsInstrumentationKey]).Result); … </code></pre> Este código funciona bien. Sin embargo, desde que actualizamos recientemente la versión de .NET Core, hemos estado recibiendo un <a . . . Read more

Problema con el concepto de alcance en la inyección de dependencias al utilizar EF.

Tengo un problema con el concepto de ámbito en la inyección de dependencias. He registrado mi contexto de base de datos como ámbito y guardo la actividad del usuario en una tabla utilizando un método asíncrono sin usar “await”. // En Startup: services.AddScoped<idbcontext, storagesystemdbcontext=””>(); services.AddScoped<iuseractivityservice, useractivityservice=””>(); // En UserActivityService: public . . . Read more

Cómo evitar el error “Una segunda operación se inició en este contexto antes de que se completara una operación anterior” en EF Core?

Acabo de recibir el error “A second operation started on this context before a previous operation completed” en mi aplicación ASP.NET Core y descubrí que estaba ejecutando dos consultas en paralelo por error. Sin embargo, ahora no estoy seguro de cómo debo evitar los problemas de concurrencia de DbContext. En . . . Read more