缓存一组用户

时间:2013-08-13 16:13:30

标签: c# asp.net-mvc caching

我想要缓存一段时间的用户列表,但是在获取用户时我无法连接到我的模型。

在我的服务层:

public IEnumerable<Clients> GetClientVw(int sessionID)
            {
                var _key = GetVwCacheKey(sessionID);
                if (_cacheManager.Exists(_key, _cacheSettings.Group))
                {
                    return _cacheManager.Get<Clients>(_key, _cacheSettings.AbsoluteExpiration.AddHours(1.0).ToString());
                }
                var _result = GetClients(sessionID);
                if (_result != null)
                {
                    var _clientVw = _result.ClientsVw();
                    _cacheManager.Set<ClientsVw>(_key, _clientVw, _cacheSettings);
                    return _clientVw;
                }

                return null;
            }

这就是我在我的模型中所拥有的:

public class ClientsVw
    {
        public ClientsVw()
        {
            this.Clients = new HashSet<Clients>();
        }
        public IEnumerable<Clients> ClientsList { get; set; }
    }

    public class Clients
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
    }

错误:在我的return _cacheManager.Get<Clients>中它告诉我我错过了演员,因为我无法从客户端转换为IEnumerable

var _clientVw = _result.ClientVw();中,它表示我没有ClientVw()

的定义

1 个答案:

答案 0 :(得分:0)

因为它告诉我我错过了一个演员,因为我无法从客户端转换为IEnumerable

您可以尝试将其列入

  return _cacheManager.Get<Clients>(_key, _cacheSettings.AbsoluteExpiration.AddHours(1.0).ToString()).ToList();