Si tenemos una clase singleton como LoadBalancer
y necesitamos una instancia por cada aplicación ASP.NET
, ¿dónde la almacenaremos?Práctica recomendada para almacenar una instancia de singleton en la aplicación ASP.NET
Actualmente uso Application.Add("LoadBalancer", LoadBalancer.Instance)
en Application_Start()
en Global.asax
.
También Application
objeto es creado por ASP.NET
y hay varias instancias por aplicación en función de la carga de trabajo. También puedo declarar una instancia static
de mi LoadBalancer
en Global.asax
.
¿Cuál es preferido? ¿Alguna mejor idea?
estoy con Cybernate aquí, esto suena como un diseño de graves deficiencias. ¿Qué está haciendo exactamente el objeto LoadBalancer? Porque, francamente, si intenta equilibrar el tráfico de la carga en su sitio, entonces ha hecho esto de una manera completamente incorrecta. – NotMe
Si intenta mantener el "único objeto que los gobierna a todos" en varios servidores web de una granja de servidores, probablemente tenga que almacenarlo en una base de datos y recuperarlo cada vez que lo necesite, utilizando los recursos apropiados. reglas de concurrencia, por supuesto. – Greg
'LoadBalancer' aquí no es el equilibrador de carga conocido en granjas de servidores. Es un objeto mío – Xaqron