Пример #1
0
 public static void MapHubNames(this IEndpointRouteBuilder endpoints, HubFactory hubFactory)
 {
     foreach (var hubname in hubFactory.HubNames)
     {
         endpoints.MapHubName(hubFactory, hubname);
     }
 }
Пример #2
0
 public HubController(
     IServiceProvider serviceProvider,
     HubFactory hubFactory)
 {
     _serviceProvider = serviceProvider;
     _hubFactory      = hubFactory;
 }
Пример #3
0
        public HubList FindHubs(Assembly assembly)
        {
            var hubFactory = new HubFactory();
            var hubTypes   = FindServerHub(assembly);

            var hubsList = new List <Hub>();

            foreach (var hubType in hubTypes)
            {
                var hubClientType = GetClientHub(assembly, hubType);
                var hub           = hubFactory.Create(hubType, hubClientType);

                hubsList.Add(hub);
            }

            return(new HubList(hubsList));
        }
        /// <summary>
        /// Add a hub with the given hub type to the model
        /// </summary>
        /// <param name="configure">Configuration fallback for the hub model.</param>
        /// <typeparam name="THub"></typeparam>
        /// <returns></returns>
        public DeploymentModelBuilder AddHub <THub>(Action <DeploymentModelHubBuilder> configure)
        {
            var hubType = HubFactory.GetSystemTypeFromType(typeof(THub));

            return(AddHub(hubType, configure));
        }
Пример #5
0
 public AlertHandler(HubFactory factory)
 {
     _alerthub = factory.Create <AlertHub>();
 }
Пример #6
0
 public static IHub GetHub(IPEndPoint endpoint)
 {
     return(HubFactory.GetGrain(HubId(endpoint)));
 }
Пример #7
0
        public static HubEndpointConventionBuilder MapHubName(this IEndpointRouteBuilder endpoints, HubFactory hubFactory, string hubName)
        {
            var method  = typeof(Microsoft.AspNetCore.Builder.HubEndpointRouteBuilderExtensions).GetMethod("MapHub", new[] { typeof(IEndpointRouteBuilder), typeof(string) });
            var generic = method.MakeGenericMethod(hubFactory[hubName]);

            return(generic.Invoke(null, new object[] { endpoints, $"/{hubName}" }) as HubEndpointConventionBuilder);

            //return Microsoft.AspNetCore.Builder.HubEndpointRouteBuilderExtensions.MapHub<TemplateHub>(endpoints, $"/{hubName}");
        }
Пример #8
0
        public static object GetGenericService(this IServiceProvider serviceProvider, Type genericType, HubFactory hubFactory, string hubName)
        {
            var hubGroupStoreType = genericType.MakeGenericType(hubFactory[hubName]);

            return(serviceProvider.GetService(hubGroupStoreType));
        }
Пример #9
0
        public static TProperty GetGenericServiceProperty <TProperty>(this IServiceProvider serviceProvider, Type genericType, HubFactory hubFactory, string hubName, string propertyName)
            where TProperty : class
        {
            var service = serviceProvider.GetGenericService(genericType, hubFactory, hubName);

            return(service.GetType().GetProperty(propertyName).GetValue(service) as TProperty);
        }
Пример #10
0
 public static TService GetGenericService <TService>(this IServiceProvider serviceProvider, Type genericType, HubFactory hubFactory, string hubName)
     where TService : class
 {
     return(serviceProvider.GetGenericService(genericType, hubFactory, hubName) as TService);
 }