sql >> Database >  >> NoSQL >> MongoDB

Wanneer Singleton vs Transient vs Request gebruiken met Ninject en MongoDB?

Over het algemeen wil je in een web-app dat de status zo veel mogelijk binnen het bereik van het verzoek ligt.

Alleen in het geval van optimalisaties op een zeer laag niveau, is de kans groot dat u ooit een geval tegenkomt waarin het gepast is om singleton-objecten te maken (en zelfs dan is de kans groot dat u dergelijke caching / sharing-logica naar een andere klasse trekt die wordt binnengehaald als een afhankelijkheid van uw andere [request scope]-objecten en maak dat eentons bereik). Onthoud dat een singleton in de context van een web-app meerdere threads betekent die dezelfde objecten gebruiken. Dit is zelden goed nieuws.

Op dezelfde basis is het tijdelijke bereik de meest eenvoudige standaard (en daarom maakt Ninject 2 het zo) - het verzoekbereik zou alleen in de vergelijking moeten komen wanneer iets moet worden gedeeld om prestatieredenen, enz. (of omdat dat gewoon de context is van het delen [zoals vermeld in het andere antwoord]).



  1. MongoDB Spark Connector py4j.protocol.Py4JJavaError:er is een fout opgetreden bij het aanroepen van o50.load

  2. Hoe vind ik vergelijkbare documenten in MongoDB?

  3. Unieke index werkt niet met Mongoose / MongoDB

  4. MongoDB (server v 2.6.7) met C#-stuurprogramma 2.0:het resultaat krijgen van InsertOneAsync