/// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="config"></param>
        protected ZPayBaseApi(ZPayCenterConfig config)
        {
            if (config == null && DefaultConfig == null)
            {
                throw new ArgumentNullException(nameof(config),
                                                "构造函数中的config 和 全局DefaultConfig 配置信息同时为空,请通过构造函数赋值,或者在程序入口处给 DefaultConfig 赋值!");
            }

            ApiConfig   = config ?? DefaultConfig;
            m_RsaAssist = new ZPayRsaAssist(ApiConfig.AppPrivateKey, ApiConfig.AppPublicKey, ApiConfig.SignType,
                                            ApiConfig.Charset);
        }
Exemplo n.º 2
0
        /// <summary>
        ///  加密对象提供者
        ///     为了同时满足多租户多线程上下文配置, 所以这里静态线程变量赋值,如果不存在则创建
        /// </summary>
        /// <param name="config"></param>
        /// <returns></returns>
        private ZPayRsaAssist GenerateRsaAssist(ZPayConfig config)
        {
            if (ConfigMode == ConfigProviderMode.Context)
            {
                return(new ZPayRsaAssist(config.AppPrivateKey, config.AppPublicKey, config.Charset));
            }

            if (_rsaAssist == null)
            {
                return(_rsaAssist = new ZPayRsaAssist(config.AppPrivateKey, config.AppPublicKey, config.Charset));
            }

            return(_rsaAssist);
        }