示例#1
0
        public async Task <Product> GetById(int id)
        {
            var redisValue = await RedisRepo.HashGetAsync(RepositoryName, id.ToString().ToUpper());

            var product = JsonConvert.DeserializeObject <Product>(redisValue);

            return(product);
        }
示例#2
0
        public async Task <IEnumerable <Product> > GetAll()
        {
            var productsHash = await RedisRepo.HashGetAllAsync(RepositoryName);

            var products = productsHash
                           .Select(y => JsonConvert.DeserializeObject <Product>(y.Value));

            return(products);
        }
示例#3
0
        public void Configuration(IAppBuilder app)
        {
            app.Use <AuthenticationMidleware>();

            app.UseStageMarker(PipelineStage.Authenticate);

            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            app.MapSignalR();
            GlobalHost.DependencyResolver.Register(typeof(IJavaScriptMinifier), () => new SignalRMinifier());

            var connection = ConnectionMultiplexer.Connect(ConfigurationManager.AppSettings["RedisConnection"]);


            var redisRepo = RedisRepo.GetInstance(connection, (chanel, value) => {
                GlobalHost.ConnectionManager.GetHubContext <ChatHub>().Clients.All.DisconnectedUser(value);
            });

            GlobalHost.DependencyResolver.Register(typeof(ChatHub), () => new ChatHub(redisRepo));
            GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => new ChatUserIdProvider());

            RegisterBundles(BundleTable.Bundles);
        }
示例#4
0
 public ChatHub(RedisRepo redisRepo)
 {
     _cacheRepo = redisRepo;
 }
示例#5
0
 public async Task Add(Product product)
 {
     var hashEntry = product.HashEntry;
     await RedisRepo.HashSetAsync(RepositoryName, new[] { hashEntry });
 }