Какие методы следует использовать для обработки объектов в кэше ASP.NET, чтобы предотвратить проблемы с несколькими доступом доступа рабочей силы ASP.NET?

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

Вопрос

Поскольку ASP.NET содержит несколько потоков, которые выполняются одновременно.
Таким образом, если 2 потота доступа к объекту (простому или сложному), который я получил от кеша ASP.NET HTPPContext.
Это не может ли это привести к проблемам с проблемами этого объекта, если эти 2 Theads пытались изменить / прочитать его одновременно?
Так какие меры предосторожности я должен реализовать?
Например, я думаю, может быть, заблокировав объект во время работы с ним? (не приведет к проблем с производительностью?)
Или, может быть, когда я извлекаю какой-то объект из кэша, я должен создать из него копию?
Или, может быть, мне не нужно беспокоиться об этом вопросе вообще?
Спасибо

Это было полезно?

Решение

Вам необходимо решить, исходя из контекста вашей проблемы, один размер подходит для всего решения, не будет работать здесь. Если вы только читаете данные, то у вас не будет проблем с потоком. Если вы часто пишете данные к этому часто, это бессмысленно используя кэш. Если его немного смеси и кэширования помогают с производительностью и т. Д., То, что вам либо нужно прибегать к нормальным методам синхронизации нитей (например, заблокировки писателя читателя) или, возможно, сделают свой объект неизменной, когда изменения в вашем объекте всегда создают новый объект. Этот выбор приводит к собственным задачам резьбы, поскольку новый объект должен затем заменить старый объект в кэш.

Другие советы

Через 5 лет проектов развития ASP.NET я никогда не сталкиваюсь с ситуацией, когда это было беспокойство.

Это говорилось ... ты, наверняка не уйдет проблему чтение любые предметы. Если у вас есть объект, который вы хотите часто изменить, почему он начнется в кеше? Если вам не нужно изменять его часто, то блокировка объекта не будет проблемой производительности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top