using System.Collections.Generic;
using NewTempo.Ftp;
using System.IO;
using NshowAdClient.NshowAdServices;
using NshowAdClient.Helper; namespace NshowAdClient.Services
{
public static class
FtpHelpService
{
static readonly Dictionary<int, FtpInfo> ClientFtpCache = new Dictionary<int, FtpInfo>(); static FtpInfo ShareFtpInfo { get; set; } static readonly object GetShareFtpLock = new object();
public static MyFtp GetShareFtp()
{
lock (GetShareFtpLock)
{
if (LoginUserHelper.Mode == RoleType.Client)
{
return GetClientFtp(LoginUserHelper.UserId);
} if (ShareFtpInfo == null)
{
using (var service = new NshowAdServiceClient())
{
ShareFtpInfo = service.GetFtpInfo();
}
} MyFtp ftp = new MyFtp(ShareFtpInfo.FtpAddress, ShareFtpInfo.User, ShareFtpInfo.Password);
return ftp;
//return new MyFtp("61.145.119.85:21", "wcf", "wcf");
}
} static readonly object GetClientFtpLock = new object();
public static MyFtp GetClientFtp(int clientId)
{
lock (GetClientFtpLock)
{
FtpInfo ftpInfo;
if (ClientFtpCache.ContainsKey(clientId))
{
ftpInfo = ClientFtpCache[clientId];
}
else
{
using (var service = new NshowAdServiceClient())
{
ftpInfo = service.GetClientFtpInfo(clientId);
ClientFtpCache.Add(clientId, ftpInfo);
}
} var ftp = new MyFtp(ftpInfo.FtpAddress, ftpInfo.User, ftpInfo.Password);
return ftp;
//return new MyFtp("61.145.119.85:21", "wcf", "wcf");
}
} public static MyFtp GetFtp(string ftpIp, string userName, string password)
{
return new MyFtp(ftpIp, userName, password);
} public static void CreateDir(string path, MyFtp myFtp)
{
var dirName = Path.GetDirectoryName(path);
bool ret = myFtp.CreateDirectory(dirName);
} public static FtpInfo GetClientFtpInfo(int clientId)
{
lock (GetClientFtpLock)
{
if (ClientFtpCache.ContainsKey(clientId))
{
return ClientFtpCache[clientId];
}
else
{
using (var service = new NshowAdServiceClient())
{
FtpInfo ftpInfo = service.GetClientFtpInfo(clientId);
ClientFtpCache.Add(clientId, ftpInfo);
return ftpInfo;
}
}
}
}
}
}

ftp缓存信息的更多相关文章

  1. WordPress安装插件提示输入FTP账户信息

    在WP后台安装插件时提示输入FTP账户信息,其实出现这个的问题的原因是Apache/Nginx的执行身份非文件属主身份. 如果你使用的是独立服务器或VPS,WordPress的安装目录为 /home/ ...

  2. slabtop 监控实时内核片缓存信息

                                        使用 slabtop命令监控实时内核片缓存信息                                 默认情况下,sl ...

  3. linux vsftp查看ftp账号信息的方法

    linux vsftp查看ftp账号信息的方法 查看注册的FTP账号 在/etc/vsftpd/chroot_list 密码看不到 只能重置密码 passwd username

  4. 利用反射注册SpringCache的RedisCacheManager缓存信息

    项目开发中,SpringCache是一个非常方便的工具,但是在配置信息注册时,用枚举方式可以满足遍历,但却无法应用在@Cacheable注解里,因此可以通过静态类的方式,借助反射完成缓存信息注册. 配 ...

  5. Linux slabtop命令——显示内核片缓存信息

    Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存.现代Linux内核部署了该缓存分配器以持有缓存,称之为片.不同类型的片缓存由片分配器维护. slabt ...

  6. HTTP 和FTP 状态信息总结(留着自己用)

    HTTP 状态信息 HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源H ...

  7. 如何在分布式环境中同步solr索引库和缓存信息

    天气依旧很好,主要是凉快.老习惯,我在北京向各位问好. 搜索无处不在,相信各位每天都免不了与它的亲密接触,那么我想你确实有必要来了解一下它们,就上周在公司实现的一个小需求来给各位分享一下:如何在分布式 ...

  8. 如何清除svn的账号缓存信息(solaris)

    如果我们不小心输入svn账号错误的话,后面就一直提示认证失败,不能checkout代码. 这个是因为svn把你输入的账号进行了缓存. 如果我们想重新输入新的账号,必须要清除缓存 svn存储账号的目录在 ...

  9. react 如何处理页面加载时无法将获取缓存信息存入全局变量中

    最近在做一个权限功能时,发现在读取用户公司ID进行列表查询 时,无法钭读取到缓存中的数据存入页面全局变量中进行加载查询 将问题代码整理出来 将信息存入缓存: let menuList = Helper ...

随机推荐

  1. (转)C++常见问题: 字符串分割函数 split

    http://www.cnblogs.com/dfcao/p/cpp-FAQ-split.html C++标准库里面没有字符分割函数split ,这可太不方便了,我已经遇到>3次如何对字符串快速 ...

  2. js控制treeview默认展开

    bootStrapTreeview 在bootstrap的treeview官网,可以找到这个方法,用js控制可以写成:$('#xxx').treeview('collapseNode',{silent ...

  3. 5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics

    5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics Where d ...

  4. GridControl详解(二)表格的列名配置

    点击Run Designer控件上的按钮,弹出视图设计窗口: 列配置: 我们配置完列名后,会发现设计视图发生了变化:

  5. 常用的20个强大的 Sublime Text 插件

    作为一个开发者你不可能没听说过 Sublime Text.不过你没听说过也没关系,下面让你明白. Sublime Text是一款非常精巧的文本编辑器,适合编写代码.做笔记.写文章.它用户界面十分整洁, ...

  6. Spring Boot中使用MongoDB数据库

    前段时间分享了关于Spring Boot中使用Redis的文章,除了Redis之后,我们在互联网产品中还经常会用到另外一款著名的NoSQL数据库MongoDB. 下面就来简单介绍一下MongoDB,并 ...

  7. 【洛谷 P2512】 [HAOI2008]糖果传递(贪心)

    题目链接 环形均分纸牌. 设平均数为\(ave\),\(g[i]=a[i]-ave\),\(s[i]=\sum_{j=1}^ig[i]\). 设\(s\)的中位数为\(s[k]\),则答案为\(\su ...

  8. 【洛谷 P3191】 [HNOI2007]紧急疏散EVACUATE(二分答案,最大流)

    题目链接 sb错误调了3hour+.. bfs预处理出每个\(.\)到每个\(D\)的最短距离. 二分时间\(t\),把每个\(D\)拆成\(t\)个点,这\(t\)个点两两连边,流量\(INF\)表 ...

  9. 机器学习-kNN-数据归一化

    一.为什么需要数据归一化 不同数据之间因为单位不同,导致数值差距十分大,容易导致预测结果被某项数据主导,所以需要进行数据的归一化. 解决方案:将所有数据映射到同一尺度 二.最值归一化 normaliz ...

  10. 2017 WebStorm 激活码 更新 Pycharm同样可用

    [有效时间到2017 年 11月 23日] BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1Iiw ...