Castle Windsor a LifeTime management rubrika: Programování: .Net

Mam webovu aplikaciu pozostavajucu z vlastneho servera. Cela aplikacia ma spolocny IoC kontainer. Vacsina servicov su singletony, alebo sa vytvaraju pri kazdom resolve (LifeTime.Transient) ale niektore objekty by som potreboval naviazat na request. Windsor sice obsahuje Lifetime.PerRequest ale ten v mojej aplikacii nevyuzijem nakolko neni zalozena na ASP.NETe. Potreboval by som aby tie objekty zaregistrovane pre jednotlive requesty boli izolovane a theard safe, aby sa nestalo ze by mohli nastat konflikty medzi httpRequestami, a naopak singletony chcem mat spolocne pre celu aplikaciu, ako to vyriesit?

Pokial nespecifikujes na com je zalozena tvoja aplikacia tak sa radi tazko.
Ale ak je to nieco netypycke, tak si budes musiet spavit vlastny lifestyle https://github.com/castleproject/Windsor/blob/master/docs/implementing-c...
Komentáře
-
xxar3s : Aplikacia je postavena na .NETe okrem windosru zatial nepouziva ziadne third party kniznce. — 11.6.2016
-
xxar3s : napadla ma este jedna moznost, urobit kontainer ktory bude mat zivotnost per request a donoho budem vkladat hlavny kontainer celej aplikacie ako childcontainer. Idem odtestovat ci to funguje. — 11.6.2016
-
harrison314 : Ale stale si nenapisal, na com bezi ten web. Ak to mas vlastne rienie, pouzi scoped, alebo excucution context lifestle (ak pouzivas async await), ak nebude stacit pouzi hybridny lifestile. — 11.6.2016
-
xxar3s : Pouzivam tam aj async, ale preco by nestacil? myslim to takto (toto je len priklad) https://gist.github.com/frank-hliva/a1fb854baf0da7ad5ff8f7c8868f30dd request container bude hlavny kontainer do ktoreho vlozim ako child container aplikacny kontainer. Request container zanikne hned po dobehnuti listeneru. Tam nema ako vzniknut konflikt. Pretoze kazdy request ma vlastny kontainer. — 11.6.2016
-
xxar3s : A este doplnim ze objekty z perRequestContaineru si mozu pytat zavislosti z aplikacneho kontaineru, ale naopak to nepojde (a ani by to nedavalo zmysel). — 11.6.2016
-
xxar3s : Tak ono tie child kontainery funguju presne naopak ako som si myslel, no nic hlavne ze funguju. — 12.6.2016
-
harrison314 : To je znasilnenie Windosoru :D nerob to, objektovy graf by si mal skladat len v kompozicnom roote a asi to bude aj hnusne pomale. prosto vnutri liseneru pouzi scoped lifestyle a malo by to ist. https://github.com/castleproject/Windsor/blob/master/docs/lifestyles.md#... — 12.6.2016
-
harrison314 : Inspirovat sa mozes aj tu https://github.com/simpleinjector/SimpleInjector/tree/master/src/SimpleI... — 12.6.2016
Pro zobrazení všech 2 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře