Jeśli ktoś dzwoni Assembly.Load
, powoduje to jakieś efekty uboczne?Efekty uboczne wywoływania Assembly.Load wiele razy
np.
for (int i = 0; i < N; i++)
{
Assembly.Load(assemblyStrongName);
// .......
}
To ładuje zespół jeden raz, prawda? Sprawdziłem z AppDomain.CurrentDomain.GetAssemblies()
przed i po i wydaje się, że jest ładowany jeden raz (tak jak powinien), ale ma efekty uboczne?
W długotrwałej aplikacji serwerowej (działa przez miesiące/lata bez ponownego uruchamiania) czy powyższe powoduje problemy?
Jeśli masz system, w którym obciążenie podzespołów jest jego najważniejszą częścią przez kilka miesięcy/lat, jestem pod wrażeniem. –
Wniosek - jeśli szukasz wycieku pamięci, użyj odpowiednich narzędzi, aby zidentyfikować rzeczywiste obiekty, które wyciekły, zamiast patrzeć na kod źródłowy i losowe zgadywanie na "może" być przeciek. –
@Damien_The_Unbeliever: Nie gonię za wyciekami pamięci. Nigdy nie ręcznie załadowałem zespołu "do tej pory, więc była to po prostu (programista) ciekawość :). – JohnDoDo