Beispiel #1
0
        internal object GetTptShipmentCountRedis(ReportTvModels olap, Microsoft.Extensions.Options.IOptions <AppSettings> settings)
        {
            string connectstring  = settings.Value.redisMap.Host + ":" + settings.Value.redisMap.Post;
            var    redisManger    = new RedisManagerPool(connectstring); //Redis的连接字符串
            var    redis          = redisManger.GetClient();             //获取一个Redis Client
            var    remainingTodos = redis.GetValue("shipmentcount");

            return(remainingTodos);
        }
Beispiel #2
0
        public RedisCacheSentinel(Microsoft.Extensions.Options.IOptions <RedisSentinelOptions> optionsAccessor)
        {
            if (optionsAccessor == null)
            {
                throw new ArgumentNullException(nameof(optionsAccessor));
            }

            _options = optionsAccessor.Value;

            // This allows partitioning a single backend cache for use with multiple apps/services.
            _instance = _options.InstanceName ?? string.Empty;
        }
        public PhotosController(IDatingRepository repo, IMapper mapper, IOptions <CloudinarySettings> cloudinaryConfig)
        {
            _repo             = repo;
            _mapper           = mapper;
            _cloudinaryConfig = cloudinaryConfig;

            Account acc = new Account(
                _cloudinaryConfig.Value.CloudName,
                _cloudinaryConfig.Value.ApiKey,
                _cloudinaryConfig.Value.ApiSecret
                );

            _cloudinary = new Cloudinary(acc);
        }
        public PhotosController(IDatingRepository Repo, IMapper Mapper, IOptions <CloudinarySettings> CLoudinaryConfig)
        {
            _Repo             = Repo;
            _Mapper           = Mapper;
            _CLoudinaryConfig = CLoudinaryConfig;

            Account account = new Account
                              (
                _CLoudinaryConfig.Value.CloudName,
                _CLoudinaryConfig.Value.ApiKey,
                _CLoudinaryConfig.Value.ApiSecret
                              );

            _Cloudinary = new Cloudinary(account);
        }
Beispiel #5
0
        /// <summary>
        /// 地图坐标和看货狗编号
        /// </summary>
        /// <param name="olap"></param>
        /// <param name="settings"></param>
        /// <returns></returns>
        internal object GetTvMapRedis(ReportTvModels olap, Microsoft.Extensions.Options.IOptions <AppSettings> settings)
        {
            string connectstring = settings.Value.redisMap.Host + ":" + settings.Value.redisMap.Post;
            var    redisManger   = new RedisManagerPool(connectstring); //Redis的连接字符串
            var    redis         = redisManger.GetClient();             //获取一个Redis Client

            //redisTodos.Store(newTodo);                                    //把newTodo实例保存到数据库中    增
            //ResponseMapDTO saveTodo = redisTodos.GetById(newTodo.ROWNO);               //根据Id查询        查
            //"Saved Todo: {0}".Print(saveTodo.Dump());

            //saveTodo.Done = true;                                         //改
            //redisTodos.Store(saveTodo);

            //var updateTodo = redisTodos.GetById(newTodo.ROWNO);            //查
            // "Updated Todo: {0}".Print(updateTodo.Dump());

            /* redisTodos.DeleteById(newTodo.ROWNO);                      */     //删除

            //var remainingTodos = redis.GetRangeFromSortedSet(settings.Value.redisMap.key, (olap.pageIndex - 1) * olap.pageSize, (olap.pageIndex * olap.pageSize)-1);
            // "No more Todos:".Print(remainingTodos.Dump());
            var remainingTodos = redis.GetRangeFromSortedList(settings.Value.redisMap.key, (olap.pageIndex - 1) * olap.pageSize, (olap.pageIndex * olap.pageSize));

            return(remainingTodos);
        }
Beispiel #6
0
 public HomeController(ILogger <HomeController> logger, Microsoft.Extensions.Options.IOptions <AppSettings> appSettings)
 {
     _logger          = logger;
     this.appSettings = appSettings;
 }
        public List <Language> AvailableLanguages; //if empty then multiple languages not supported


        public MeriamWebsterExperimentalProvider(Microsoft.Extensions.Options.IOptions <AppSettings> _settings)
        {
            this.settings = _settings.Value;
            LoadSupportedLanguages(); //load list of supported languages, that can be loaded from API if it is available
        }
Beispiel #8
0
        internal async Task AcceptConnectorAndWorkAsync(Socket clientSock, CommandMessage connmsg)
        {
            bool supportEncrypt = _worker.Server.UseEncrypt;

            if (connmsg.Args[4] == "0")
            {
                supportEncrypt = false;
            }

            byte[] clientKeyIV;
            try
            {
                _worker.Server.ConnectorLicense.DescriptSourceKey(Convert.FromBase64String(connmsg.Args[2]), Convert.FromBase64String(connmsg.Args[3]), out clientKeyIV);
            }
            catch (Exception x)
            {
                _worker.OnError(x);
                var failedmsg = new CommandMessage("ConnectFailed", "InvalidSecureKey");
                await clientSock.SendAsync(failedmsg.Pack(), SocketFlags.None);

                return;
            }

            TcpMapServerClient sclient = _worker.FindClient();

            if (sclient == null)
            {
                var failedmsg = new CommandMessage("ConnectFailed", "NoClient");
                await clientSock.SendAsync(failedmsg.Pack(), SocketFlags.None);

                return;
            }

            string mode         = connmsg.Args[5];
            string connArgument = connmsg.Args[6];

            if (mode == "USB")            //use server bandwidth
            {
                var resmsg = new CommandMessage("ConnectOK", "ConnectOK", supportEncrypt ? "1" : "0");
                await clientSock.SendAsync(resmsg.Pack(), SocketFlags.None);

                Stream _sread, _swrite;
                if (supportEncrypt)
                {
                    _worker.Server.ConnectorLicense.OverrideStream(clientSock.CreateStream(), clientKeyIV, out _sread, out _swrite);
                }
                else
                {
                    _sread = _swrite = clientSock.CreateStream();
                }

                using Socket localsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                string ip = _worker.Server.ServerBind;
                if (ip == "0.0.0.0")
                {
                    ip = "127.0.0.1";
                }
                localsock.InitTcp();
                await localsock.ConnectAsync(ip, _worker.Server.ServerPort);

                TcpMapConnectorSession session = new TcpMapConnectorSession(new SimpleSocketStream(localsock));
                await session.DirectWorkAsync(_sread, _swrite);
            }
            else if (mode == "UDP")
            {
                if (_udpcache == null)
                {
                    lock (typeof(TcpMapServerConnector))
                    {
                        if (_udpcache == null)
                        {
                            var opt = new MemoryCacheOptions();
                            Microsoft.Extensions.Options.IOptions <MemoryCacheOptions> iopt = Microsoft.Extensions.Options.Options.Create(opt);
                            _udpcache = new MemoryCache(iopt);
                        }
                    }
                }

                UdpInfoItem natinfo;
                string      key = connArgument + ":" + sclient.SessionId;
                if (!_udpcache.TryGetValue(key, out natinfo) || natinfo.HasExpired())
                {
                    var udpmsg = await sclient.CreateUDPNatAsync(connArgument);

                    string[] pair = udpmsg.Args[1].Split(':');
                    string   addr = pair[0];
                    int      port = int.Parse(pair[1]);
                    natinfo = new UdpInfoItem(addr + ":" + port);
                    _udpcache.Set(key, natinfo);
                }



                var resmsg = new CommandMessage("ConnectOK", "ConnectOK", supportEncrypt ? "1" : "0", natinfo.NatInfo);
                await clientSock.SendAsync(resmsg.Pack(), SocketFlags.None);

                resmsg = await CommandMessage.ReadFromSocketAsync(clientSock);

                if (resmsg == null)
                {
                    return;
                }
                throw new NotImplementedException("work for " + resmsg);
            }
            else if (mode == "RCP")
            {
                var resmsg = new CommandMessage("ConnectOK", "ConnectOK", supportEncrypt ? "1" : "0"
                                                , ((IPEndPoint)sclient._socket.RemoteEndPoint).Address.ToString(), sclient.OptionRouterClientPort.ToString());
                await clientSock.SendAsync(resmsg.Pack(), SocketFlags.None);
            }
            else
            {
                throw new NotImplementedException();
            }
        }
Beispiel #9
0
 public EmailSender(Microsoft.Extensions.Options.IOptions <EmailSenderSettings> settings)
 {
     _settings = settings.Value;
 }