Есть ли отдельный статический класс для каждого пользователя в веб-приложения в asp.net?
Я использую статический класс и статический атрибут и статическую функцию в своем проекте веб-приложения для передачи данных между веб-формами, но я хочу, чтобы статический класс для каждого пользователя создавался отдельно. есть такие????? моя точка зрения такова, что когда пользователь входит в систему, создает новый статический класс в веб-приложении или один объект из этого статического класса для всех пользователей? Пожалуйста, помогите и ответьте мне!
1 ответ
static
классы в asp.net являются общими для всех потоков, и нет прямой связи между потоками и пользователями. Один пользователь может использовать несколько потоков для обработки запросов на стороне клиента, или несколько пользователей могут использовать только один поток для обработки всех своих запросов. Это зависит от конфигурации сервера и нагрузки.
В то время как static
методы могут быть использованы в веб-приложении asp.net, static
члены (поля и свойства) следует избегать. Тезисы, лежащие в основе переменной / контейнеров, являются общими, и один поток перезаписывает значения другого потока и приводит к очень сложным сценариям отладки.
Маркировка класса static
требует, чтобы все методы и члены были статическими, и их, как правило, следует избегать в asp.net. Время от времени я использовал статические классы, чтобы выставлять экземпляры на основе объектов и значений, внешних по отношению к классу. Есть также пример методов расширения, которые хороши в asp.net, так как они не содержат статических полей.