sql >> Databáze >  >> NoSQL >> MongoDB

Kdy použít Singleton vs Transient vs Request pomocí Ninject a MongoDB

Obecně ve webové aplikaci chcete, aby byl stav co možná nejvíce rozsahem požadavku.

Pouze v případě optimalizací na velmi nízké úrovni je pravděpodobné, že narazíte na případ, kdy je vhodné vytvořit jednotlivé objekty (a i tehdy je šance, že takovou logiku ukládání do mezipaměti/sdílení vytáhnete do jiné třídy, která bude vtažena jako závislost na vašich dalších objektech [rozsah požadavku] a vytvořte to singletonový dalekohled). Pamatujte, že singleton v kontextu webové aplikace znamená více vláken používajících stejné objekty. To je zřídka dobrá zpráva.

Na stejném základě je přechodný rozsah nejpřímější výchozí (a proto to tak Ninject 2 dělá) – rozsah požadavku by měl do rovnice vstupovat pouze tehdy, když je třeba něco sdílet z důvodů výkonu atd. (nebo protože to je prostě kontext sdílení [jak je uvedeno v druhé odpovědi]).



  1. Aktualizovat pole Mongo:odebrat dynamický klíč

  2. Najít po osídlení mangusty

  3. Mongo dotaz na podpole

  4. Poskytovatel ASP.NET SessionState podporovaný Redis