在CM框架中,"perRequest"和"Singleton"都是生命周期配置选项,用于指示对象的创建和共享方式。它们之间的区别在于对象实例的生命周期和共享方式。
对于"perRequest"(有时被称为"Transient"):
对象的实例在每个请求处理期间只创建一次,并在同一个请求内共享。
每个请求都有自己的对象实例,不同的请求之间不会共享同一个实例。
在请求处理期间不同的组件或对象可以访问同一个实例。
对于"Singleton":
对象的实例在整个应用程序的生命周期内只创建一次,并在整个应用程序范围内共享。
所有的请求和组件都共享同一个对象实例。
具有全局性质,适合在整个应用程序中共享状态和数据。