Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20690|Odpowiedź: 1

[Źródło] Podsumowanie metodologii tworzenia instancji autofac

[Skopiuj link]
Opublikowano 05.01.2018 21:25:48 | | |

1、InstancePerDependency

Stwórz nową, unikalną instancję dla każdej zależności lub wywołania. To także domyślny sposób tworzenia instancji.

Oficjalna dokumentacja wyjaśnia: Konfiguruj komponent tak, aby każdy zależny komponent lub wywołanie Resolve() otrzymywało nową, unikalną instancję (domyślnie).



2、InstancePerLifetimeScope

W domenie cyklu życia każda zależność lub wywołanie tworzy jedną wspólną instancję, a dla każdej domeny cyklu życia jest ona unikalna i nie jest współdzielona.

Oficjalna dokumentacja wyjaśnia: Konfiguruj komponent tak, aby każdy zależny komponent lub wywołanie Resolve() w ramach jednego ILifetimeScope otrzymywało tę samą, współdzieloną instancję. Zależne komponenty w różnych zakresach życia będą miały różne instancje.



3、InstancjaDopasowanieZakresu życia

W zidentyfikowanej domenie cyklu życia każda zależność lub wywołanie tworzy jedną wspólną instancję. Instancje w domenie nadrzędnej mogą być współdzielone w domenie tożsamości potomnej zidentyfikowanej domeny cyklu życia. Jeśli w całej hierarchii dziedziczenia nie znaleziono zidentyfikowanej domeny cyklu życia, wyrzucany jest wyjątek: DependencyResolutionException.

Oficjalna dokumentacja wyjaśnia: Konfiguruj komponent tak, aby każdy zależny komponent lub wywołanie Resolve() w obrębie ILifetimeScope oznaczonego dowolnym z podanych tagów otrzymało tę samą, współdaną instancję. Komponenty zależne w zakresach życiowych, które są dziećmi zakresu oznaczonego, będą współdzielić instancję nadrzędnego. Jeśli w hierarchii nie można znaleźć odpowiednio oznaczonego zakresu, rzucany jest wyjątek DependencyResolution.



4、InstancePerOwned

W cyklu życia instancji utworzonej przez instancję należącą do domeny cyklu życia, każdy zależny komponent lub wywołanie metody Resolve() tworzy jedną współdzieloną instancję, a domena dziecka cyklu życia dzieli instancje z domeny cyklu życia nadrzędnego. Jeśli w hierarchii dziedziczenia nie znajduje się odpowiedniej domeny cyklu życia z instancjami potomnymi, wyrzuca się wyjątek: DependencyResolutionException.

Oficjalna dokumentacja wyjaśnia: Konfiguruj komponent tak, aby każdy zależny komponent lub wywołanie Resolve() w ramach ILifetimeScope utworzonego przez własną instancję otrzymało tę samą, współdzieloną instancję. Komponenty zależne w zakresach życiowych, które są potomkami zakresu własnej instancji, będą współdzielić instancję nadrzędnego. Jeśli w hierarchii nie można znaleźć odpowiedniego zakresu własnej instancji, wyrzucany jest wyjątek DependencyResolution.



5、SingleInstance

Za każdym razem, gdy polegasz na komponentie lub wywołujesz metodę Resolve(), otrzymujesz tę samą współdzieloną instancję. W rzeczywistości jest to model singleton.

Oficjalna dokumentacja wyjaśnia: Skonfiguruj komponent tak, aby każdy zależny komponent lub wywołanie Resolve() otrzymywało tę samą, współdzieloną instancję.



6、InstancePerHttpRequest



W kontekście żądania HTTP udostępnij instancję komponentu. Dostępne tylko do rozwoju asp.net MVC.
Oficjalna dokumentacja wyjaśnia: Udostępnij jedną instancję komponentu w kontekście pojedynczego zapytania HTTP.
Oficjalny link do dokumentacji: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




Poprzedni:asp.net Pobierz plik katalogu strony jest pusty
Następny:Wymiana jądra GeckoFx Firefox, wyłączenie ostrzeżenia o wyskakującym okienku systemowym
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com