Ejemplo n.º 1
0
 /// <summary>
 /// 使用Session容器
 /// </summary>
 /// <param name="builder">Host Builder</param>
 /// <returns></returns>
 public static ISuperSocketHostBuilder UseInProcSessionContainer(this ISuperSocketHostBuilder builder)
 {
     return(builder
            .UseMiddleware <InProcSessionContainerMiddleware>(s => s.GetRequiredService <InProcSessionContainerMiddleware>())
            .ConfigureServices((ctx, services) =>
     {
         services.AddSingleton <InProcSessionContainerMiddleware>();
         services.AddSingleton <ISessionContainer>((s) => s.GetRequiredService <InProcSessionContainerMiddleware>());
         services.AddSingleton <IAsyncSessionContainer>((s) => s.GetRequiredService <ISessionContainer>().ToAsyncSessionContainer());
     }) as ISuperSocketHostBuilder);
 }
Ejemplo n.º 2
0
 public static ISuperSocketHostBuilder <TReceivePackage> UseClearIdleSession <TReceivePackage>(this ISuperSocketHostBuilder <TReceivePackage> hostBuilder)
 {
     return(hostBuilder.UseMiddleware <ClearIdleSessionMiddleware>());
 }
 public static ISuperSocketHostBuilder UseClearIdleSession(this ISuperSocketHostBuilder hostBuilder)
 {
     return(hostBuilder.UseMiddleware <ClearIdleSessionMiddleware>());
 }
Ejemplo n.º 4
0
 public static ISuperSocketHostBuilder <TPackageInfo> UseCommand <TKey, TPackageInfo>(this ISuperSocketHostBuilder builder)
     where TPackageInfo : class, IKeyedPackageInfo <TKey>
 {
     return(builder.UseMiddleware <CommandMiddleware <TKey, TPackageInfo> >()
            .ConfigureCommand() as ISuperSocketHostBuilder <TPackageInfo>);
 }