Я новичок в C# и только начал изучать IoC в веб-api. В чем разница в Transient
и PerWebRequest
Образ жизниРазница во времени IoC
Извините за плохой английский.
Я новичок в C# и только начал изучать IoC в веб-api. В чем разница в Transient
и PerWebRequest
Образ жизниРазница во времени IoC
Извините за плохой английский.
Это среднее значение "один экземпляр для всех". раз, когда вы звоните Resolve
(даже неявно) вы получили тот же объект
Это противоположно singletone
. Вы получите столько объект, как вы называете Resolve
Узнайте, как Singleton
для одного запроса и transient
для других (Вы получите столько объект, как запрос получить)
для получения дополнительной информации читать catle.windsor manual или official asp.net docs
PerWebRequest sco pe длится с начала веб-камеры до конца веб-камеры. Переходные жизни до тех пор, пока вы держите ссылку на разрешенную сущность. Метод AddTransient используется для сопоставления абстрактных типов конкретным службам, которые создаются отдельно для каждого объекта, который его требует.
Transient означает, что вы так много объектов, как вы Ioc контейнер под названием. Это также означает, что вы должны уничтожить все созданные вами IDisposable элементы.
PerWebRequest означает, что у вас будет 1 экземпляр для каждого запроса, поэтому, если у вас есть несколько запросов, запущенных на сервере, каждый из них будет иметь свой собственный экземпляр объекта. Объекты IDisposable могут быть удалены каркасом IoC.