Есть ли какие-либо соображения относительно производительности отражения при повторном вызове container.Resolve<T>()
, когда разрешение уже установлено?
Я использую его в контроллере MVC для разрешения моей службы данных, поэтому она будет вызываться при каждом HTTP-запросе. Я храню экземпляр контейнера в состоянии Application, и я использую время жизни контейнера, чтобы оно поддерживало одноэлементный экземпляр моего разрешенного класса. Я предполагаю, что пока контейнер жив и создал новый экземпляр службы, ему не нужно будет использовать отражение при последующих вызовах для его разрешения.
Вместо этого я рассматриваю сохранение ссылки на разрешенный класс, если производительность Resolve<T>()
является проблемой. Но с настройкой времени жизни синглтона кажется, что я буду дублировать что-то уже встроенное.