示例#1
0
        /// <summary>
        /// 设置Cache
        /// </summary>
        /// <param name="proxy"></param>
        /// <param name="user"></param>
        static void Cache(RedisProxy proxy, UserData user)
        {
            if (user == null)
            {
                return;
            }
            proxy.SetEntity(user);
            var key = BuildDataKey("name", user.Id);

            proxy.Set(key, user.RealName);

            if (user.DataState >= DataStateType.Discard)
            {
                proxy.RemoveCache <UserData>(user.Id);
                proxy.RemoveKey(BuildDataKey(user.UserName, "id"));
                proxy.RemoveKey(BuildDataKey(user.UserName, "pwd"));
                return;
            }
            if (user.DataState == DataStateType.Enable)
            {
                proxy.Set(BuildDataKey(user.UserName, "pwd"), user.PassWord);
                proxy.SetValue(BuildDataKey(user.UserName, "id"), user.Id);
            }
            else
            {
                proxy.RemoveKey(BuildDataKey(user.UserName, "id"));
                proxy.RemoveKey(BuildDataKey(user.UserName, "pwd"));
            }
        }
示例#2
0
 /// <summary>
 ///     保存完成后期处理(Insert或Update)
 /// </summary>
 /// <param name="entity"></param>
 protected sealed override void OnDataSaved(DataOperatorType operatorType, PersonnelData entity)
 {
     using (var proxy = new RedisProxy(RedisProxy.DbComboCache))
     {
         proxy.RemoveKey(treeKey);
         proxy.RemoveKey(comboKey);
     }
 }
 /// <summary>
 ///     保存完成后期处理(Insert或Update)
 /// </summary>
 /// <param name="entity"></param>
 protected sealed override void OnDataSaved(OrganizePositionData entity)
 {
     using (var proxy = new RedisProxy(RedisProxy.DbComboCache))
     {
         proxy.RemoveKey(treeKey);
         proxy.RemoveKey(comboKey);
     }
 }
示例#4
0
        /// <summary>
        ///     还原调用上下文
        /// </summary>
        private int RevertCallContext(HttpRequestMessage request, string token)
        {
            //if (request.Headers.UserAgent.ToString() != "Yizuan.Service.WebApi.WebApiCaller")
            //    return ErrorCode.DenyAccess;
            //for (var index = 1; index < token.Length; index++)
            //{
            //    var ch = token[index];
            //    if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || ch == '-')
            //        continue;
            //    return ErrorCode.DenyAccess;
            //}
            ApiContext context;

            using (var proxy = new RedisProxy())
            {
                var key = ApiContext.GetCacheKey(token);
                context = proxy.Get <ApiContext>(key);
                proxy.RemoveKey(key);
            }
            if (context?.Request == null || context.LoginUser == null)
            {
                //return ErrorCode.DenyAccess;
                ApiContext.TryCheckByAnymouse();
                return(0);
            }
            var checker = IocHelper.Create <IBearValidater>();
            var result  = checker.ValidateServiceKey(context.Request.ServiceKey);

            if (!result.Result)
            {
                return(result.Status.ErrorCode);
            }
            ApiContext.SetContext(context);
            return(0);
        }
示例#5
0
 /// <summary>
 ///     保存完成后期处理(Insert或Update)
 /// </summary>
 /// <param name="operatorType"></param>
 /// <param name="entity"></param>
 protected sealed override void OnDataSaved(DataOperatorType operatorType, OrganizePositionData entity)
 {
     using (var proxy = new RedisProxy(RedisProxy.DbSystem))
     {
         proxy.SetEntity(entity);
         proxy.RemoveKey(comboKey);
     }
 }
示例#6
0
 /// <summary>
 /// 移除HashKey
 /// </summary>
 /// <param name="key">key</param>
 /// <param name="filed">filed</param>
 /// <returns>bool</returns>
 public bool RemoveHashKey(string key, string filed)
 {
     return(RedisProxy.RemoveKey(_redisName, _redisName, key));
 }
示例#7
0
 /// <summary>
 /// 移除一个指定的key
 /// </summary>
 /// <param name="key">key</param>
 /// <returns>bool</returns>
 public bool RemoveKey(string key)
 {
     return(RedisProxy.RemoveKey(_redisName, _redisName, key));
 }