У меня есть приложение asp.net mvc, в котором многие вещи зависят от знания URL-запроса веб-запроса (это многопользовательский). В настоящее время HttpContext вводится во множество конструкторов (через оболочку, которая устанавливает некоторые переменные на основе контекста) с помощью Simple Injector. Это означает, что большинство вещей нужно вводить «за веб-запрос» и за приложение.Усиление производительности инсталляции веб-приложений с помощью инъекции зависимостей
Теперь, что я мог сделать, просто передать оболочку HttpContext или только необходимые данные в методах, а не в инжекции конструктора.
То, что я хотел бы получить, - это фактическая разница в производительности. Потому что это делает его намного менее изящным, чтобы всегда передавать обертку/данные. Это, однако, довольно высокий трафик, поэтому я обязательно подумаю о его изменении.
Я понимаю, что это зависит от того, что происходит в конструкторе, но предположим, что все, что он делает, это назначить зависимости.
Чтобы уточнить, у меня нет конкретной проблемы с производительностью. Это только оптимизация, и мне интересно, стоит ли выполнять рефакторинг для достижения этого.
ли вы 'HttpContext'-обертка содержат данные, или логика для извлечения данных всякий раз, когда это свойство или метод называется? Если последнее, то нет необходимости быть инстанцированным для каждого веб-запроса; вы можете использовать один экземпляр (поскольку он будет использовать HttpContext.Current за сценой). – Maarten
Итак, вы говорите, что вы [вводите данные времени выполнения в свои компоненты] (https://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=99). – Steven
Здесь я пропущу цифры и факты. Является ли это гипотетическим или у вас проблема с производительностью? Вы это оценили? Профилировали ли вы его, чтобы выяснить, где проблема? У меня возникает соблазн закрыть этот вопрос без такой информации. – Steven