钉钉开发系列(四)获取JS票据

本文介绍在钉钉客户端开发中获取和管理JS票据(jsticket)的过程。由于jsticket的有效期为7200秒,并且每次请求会导致之前票据失效,因此需要实现缓存层来有效保存和更新jsticket。
摘要由CSDN通过智能技术生成

钉钉的客户端开发和服务端有一个重要的区别,服务端只需要得到access_token就可以了,而客户端还需要进一步换取jsticket。所以我们要进行客户端的开发,第一步就是得到jsticket。又由于jsticket有7200秒的限制,而且每请求一次前面的就会失效,为此我们需要做一个缓存层来保存。

首先我们来看缓存层的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DDSDK
{
    /// <summary>
    /// 简易缓存
    /// </summary>
    public class SimpleCacheProvider : ICacheProvider
    {
        private static SimpleCacheProvider _instance = null;
        private static readonly object _lockObj=new object();
        #region GetInstance
        /// <summary>
        /// 获取缓存实例
        /// </summary>
        /// <returns></returns>
        public static SimpleCacheProvider GetInstance()
        {
            if (_instance == null) lock(_lockObj){_instance =_instance?? new SimpleCacheProvider()};//使用单例模式以确保并发时实例始终是同一个
            return _instance;
        }
        #endregion

        private Dictionary<string, CacheItem> _caches;

        private SimpleCacheProvider()
        {
            this._caches = new Dictionary<string, CacheItem>();
        }

        #region GetCache
        /// <summary>
        /// 获取缓存
        /// </summary>
        /// <param name="key"></param>
  
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值