Пример #1
0
 public static ComponentRegistration <TService> PerTopTransaction <TService>(
     this LifestyleGroup <TService> @group)
     where TService : class
 {
     Contract.Requires(group != null);
     return(@group.Custom <WrapperResolveLifestyleManager <PerTopTransactionLifestyleManager> >());
 }
 /// <summary>
 /// Uses an instance lifestyle where the instance is bound to (and thus will re-used across) the current Rebus transaction context
 /// </summary>
 public static ComponentRegistration <TService> PerRebusMessage <TService>(this LifestyleGroup <TService> lifestyleGroup) where TService : class
 {
     if (lifestyleGroup == null)
     {
         throw new ArgumentNullException(nameof(lifestyleGroup));
     }
     return(lifestyleGroup.Registration.LifestylePerRebusMessage());
 }
 /// <summary>
 /// Hybrid lifestyle - per web request or per scope.
 /// </summary>
 public static ComponentRegistration <TService> HybridPerWebRequestScope <TService>(this LifestyleGroup <TService> lifestyleGroup)
     where TService : class
 {
     return(lifestyleGroup.Scoped <HybridPerWebRequestScopeScopeAccessor>());
 }
 /// <summary>
 /// Singleton instance with .NET Core semantics
 /// </summary>
 /// <typeparam name="TService"></typeparam>
 public static ComponentRegistration <TService> NetCoreStatic <TService>(this LifestyleGroup <TService> lifestyle) where TService : class
 {
     return(lifestyle
            .Scoped <NetCoreRootScopeAccessor>());
 }
 public static ComponentRegistration <TService> PerWebRequest <TService>(this LifestyleGroup <TService> @group) where TService : class
 {
     return(group.Scoped <WebRequestScopeAccessor>());
 }
Пример #6
0
 public ComponentRegistration <T> ApplyLifeStyle <T>(LifestyleGroup <T> component) where T : class
 {
     return(component.Transient);
 }
Пример #7
0
 public ComponentRegistration <T> ApplyLifeStyle <T>(LifestyleGroup <T> component) where T : class
 {
     return(component.PerWcfSession());
 }
Пример #8
0
 public static ComponentRegistration <S> PerWcfSession <S>(this LifestyleGroup <S> @group)
 {
     return(group.Custom <PerWcfSessionLifestyle>());
 }
 /// <summary>
 /// One component instance per HttpApplication instance.
 /// </summary>
 /// <typeparam name="S"></typeparam>
 /// <param name="group"></param>
 /// <returns></returns>
 public static ComponentRegistration <S> PerHttpApplication <S>(this LifestyleGroup <S> @group) where S : class
 {
     return(@group.Scoped <HttpApplicationScopeAccessor>());
 }
Пример #10
0
 /// <summary>
 /// The per wcf operation including web orb.
 /// </summary>
 /// <param name="group">
 /// The group.
 /// </param>
 /// <typeparam name="TService">
 /// </typeparam>
 /// <returns>
 /// The <see cref="ComponentRegistration{TService}"/>.
 /// </returns>
 public static ComponentRegistration <TService> PerWcfOperationIncludingWebOrb <TService>(
     this LifestyleGroup <TService> @group) where TService : class
 {
     return(group.Scoped <EsyncWcfOperationScopeAccessor>());
 }
Пример #11
0
 /// <summary>
 /// One component instance per web request, or if HttpContext is not available, scoped.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="group"></param>
 /// <returns></returns>
 public static ComponentRegistration <T> HybridPerWebRequestScoped <T>(this LifestyleGroup <T> group) where T : class
 {
     return(group.Scoped <HybridPerWebRequestScopedScopeAccessor>());
 }
 /// <summary>
 /// One component instance per web request, or if HttpContext is not available, transient.
 /// </summary>
 /// <typeparam name="S"></typeparam>
 /// <param name="group"></param>
 /// <returns></returns>
 public static ComponentRegistration <S> HybridPerWebRequestTransient <S>(this LifestyleGroup <S> @group)
     where S : class =>
 @group.Scoped <HybridPerWebRequestTransientScopeAccessor>();
 /// <summary>
 /// One component instance per web session.
 /// Warning: because the session end event request only works InProc, components can't be reliably disposed. Burden is also affected.
 /// </summary>
 /// <typeparam name="S"></typeparam>
 /// <param name="group"></param>
 /// <returns></returns>
 public static ComponentRegistration <S> PerWebSession <S>(this LifestyleGroup <S> @group)
     where S : class =>
 @group.Scoped <WebSessionScopeAccessor>();
Пример #14
0
 public static ComponentRegistration <T> ApplyLifeStyle <T>(this LifestyleGroup <T> component, ILifestyleApplier lifestyleApplier) where T : class
 {
     return(lifestyleApplier.ApplyLifeStyle(component));
 }
Пример #15
0
 /// <summary>
 /// Singleton instance with .NET Core semantics
 /// </summary>
 /// <typeparam name="TService"></typeparam>
 public static ComponentRegistration <TService> NetStatic <TService>(this LifestyleGroup <TService> lifestyle) where TService : class
 {
     return(lifestyle
            .Scoped <ExtensionContainerRootScopeAccessor>());
 }
 public static ComponentRegistration <T> Scoped <T>(this LifestyleGroup <T> @group) where T : class
 {
     return(group.Custom <ScopedLifestyleManager>());
 }
 /// <summary>
 /// Uses an instance lifestyle where the instance is bound to (and thus will re-used across) the current Rebus transaction context
 /// </summary>
 public static ComponentRegistration <TService> PerRebusMessage <TService>(this LifestyleGroup <TService> lifestyleGroup) where TService : class
 {
     return(lifestyleGroup.Registration.LifestylePerRebusMessage());
 }
 /// <summary>
 /// One component instance per web request, or if HttpContext is not available, one per thread.
 /// </summary>
 /// <typeparam name="S"></typeparam>
 /// <param name="group"></param>
 /// <returns></returns>
 public static ComponentRegistration <S> HybridPerWebRequestPerThread <S>(this LifestyleGroup <S> @group) where S : class
 {
     return(@group.Scoped <HybridPerWebRequestPerThreadScopeAccessor>());
 }
Пример #19
0
 /// <summary>
 /// Currently just an alias for Scoped since that is how we implement per message lifestyle in nservicebus.
 /// </summary>
 public static ComponentRegistration <TComponent> PerNserviceBusMessage <TComponent>(this LifestyleGroup <TComponent> lifestyleGroup) where TComponent : class
 {
     return(lifestyleGroup.Scoped());
 }