qué técnicas se deben utilizar para objetos mango en asp.net caché para evitar problemas de acceso con múltiples subprocesos de trabajo asp.net?

StackOverflow https://stackoverflow.com/questions/3672281

Pregunta

desde asp.net contiene múltiples hilos que se están ejecutando al mismo tiempo.
por lo que si 2 subprocesos tienen acceso a un objeto (simple o compleja) que obtuve de la caché del asp.net HttpContext.
este no puede dar lugar a problemas de estado de ese objeto si estos 2 theads trataron de modificar / leerlo al mismo tiempo?
Entonces, ¿qué tipo de precauciones debo aplicar?
Por ejemplo, yo estoy pensando que tal vez el bloqueo del objeto mientras se trabaja con ella? (Wont esta causa problemas de rendimiento?)
o tal vez cuando puedo recuperar un objeto de la caché i debe crear una copia de ella?
o tal vez yo no tiene que preocuparse acerca de este problema en absoluto?
gracias

¿Fue útil?

Solución

Es necesario decidir esta basado en el contexto de su problema, una talla única solución no funcionará aquí. Si sólo está leyendo datos, entonces usted no tendrá problemas de threads. Si está escribiendo datos a esta frecuencia, su sentido mediante la caché. Si es un poco de una mezcla y almacenamiento en caché no ayuda con el rendimiento, etc, entonces usted ya sea necesidad de recurrir a las técnicas normales de sincronización de rosca (por ejemplo Lector de cerraduras) o tal vez hacer su inmutable objeto donde los cambios a su objeto siempre crean un nuevo objeto. Que conduce a la elección de enhebrar sus propios problemas como el nuevo objeto tiene que vuelva a colocar el objeto en la memoria caché de edad.

Otros consejos

En 5 años de proyectos de desarrollo de ASP.NET, nunca he llegado a través de una situación en la que esto era una preocupación.

Una vez dicho esto ... usted está seguro que va a tener un problema lectura ningún artículo. Si usted tiene un objeto que desea modificar con frecuencia, ¿por qué es en la memoria caché para empezar? Si no es necesario modificarlo a menudo, entonces el bloqueo del objeto no será un problema de rendimiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top