Jeśli mamy klasę singleton taką jak LoadBalancer
i potrzebujemy jednej instancji na aplikację ASP.NET
, to gdzie ją przechowywać?Najlepsza praktyka do przechowywania wystąpienia singleton w aplikacji ASP.NET
Obecnie używam Application.Add("LoadBalancer", LoadBalancer.Instance)
w Application_Start()
w Global.asax
.
Obiekt Application
jest również tworzony przezi istnieje wiele instancji na aplikację w zależności od obciążenia. Również mogę zadeklarować instancję static
mojego LoadBalancer
w Global.asax
.
Który jest preferowany? Masz lepszy pomysł?
jestem z Cybernate tutaj, to brzmi jak poważnie wadliwej konstrukcji. Czym dokładnie jest obiekt LoadBalancer? Szczerze mówiąc, jeśli próbuje się załadować ruch saldo na swojej stronie, to podchodzisz do tego w zupełnie niewłaściwy sposób. – NotMe
Jeśli próbujesz zachować "jeden obiekt, aby rządził nimi wszystkimi" na wielu serwerach w farmie, prawdopodobnie będziesz musiał przechowywać go w bazie danych i pobierać za każdym razem, gdy go potrzebujesz, wykorzystując odpowiednie zasady współbieżności oczywiście. – Greg
"LoadBalancer" tutaj nie jest znanym load balancer w farmach serwerów. To mój przedmiot. – Xaqron