解决方案

使用C#客户端访问FTP服务的一个解决方案

北战南征 提交于 2020-01-07 16:20:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、写在前面 最近工作中遇到了一个场景,要用C#客户端访问FTP服务器,并实现文件下载功能。之前我使用了一种非常简单粗暴的方法,因为客户端之前就用到了Xilium.CefGlue(可以理解为一个WebKit内核)来实现浏览网页的功能,客户的需求又仅停留在登录FTP对部分压缩包和doc文件进行下载,我索性直接建了个页面,用这个WebKit内核实现对FTP进行访问,效果和Chrome浏览器访问FTP相似。 不过,这个方法有下面三个缺点: 1、Xilium.CefGlue类库占用的空间很大,如果就为了实现客户端访问FTP服务器,放入一个WebKit内核,平白增加了几十MB的空间占用,是非常不划算的。 2、Xilium.CefGlue打开FTP类似Chrome的打开方式,遇到txt、sql等扩展名的文件时,会直接在浏览器中打开,遇到pdf扩展名的文件时,会使用相关插件打开(或因无相关处理工具而进入错误页)。遇到其他扩展名的文件时,如exe、rar、zip、doc等,才会提示下载。 3、无法满足许多用户定制化的需求(虽然内核是开源的,但你敢改么?)。 所以说,使用C#客户端访问FTP服务器,最好的办法还是自己写一套工具类,实现FTP协议下的上传、下载、创建目录、查询目录下文件列表等操作。 二、使用Serv

Swagger项目错误解析

不羁的心 提交于 2020-01-07 14:52:08
解决方案 然后启动项目 最合理的解决方案: 其他解决方案,出现的连锁反应; 解决方案一: 连锁出现的问题: 解决连锁出现的问题 方案一: 解决方法一: @ ComponentScan ( { "com.example.demo.config" } ) 上面的问题已解决 但是继续连锁出现问题 该问题待解决,此路暂时不通 方案二: 直接把 @EnableSwagger2 注解加在主启动类就可以了, 上面的问题已解决 但是会出现以下问题方法和类,出现 error 解决访问 swaggerUI 接口文档显示 basic-error-controler 问题 暂时没有找到,此路不通 方案三 虽然解决报错,但是该属性,是规避找不到bean,所以该方案不行 最总分析: 首先,出现连锁最根本的问题在于, @ComponentScan和@MapperScan 注解使用 继续分析 之前用户使用的是3个注解注解他们的 main 类。分别是 @Configuration , @EnableAutoConfiguration , @ComponentScan 。 如果 @SpringBootApplication 和 @ComponentScan 注解共存,那么 @SpringBootApplication 注解的扫描的作用将会失效,也就是说不能够扫描启动类所在包以及子包了。因此,我们必须在

互联网高并发解决方案02-高并发服务限流特技

旧巷老猫 提交于 2020-01-06 15:43:14
高并发服务限流特技 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流。 为什么要互联网项目要限流 互联网雪崩效应解决方案 服务降级: 在高并发的情况, 防止用户一直等待,直接返回一个友好的错误提示给客户端。 服务熔断:在高并发的情况,一旦达到服务最大的承受极限,直接拒绝访问,使用服务降级。 服务隔离: 使用服务隔离方式解决服务雪崩效应 服务限流: 在高并发的情况,一旦服务承受不了使用服务限流机制(计时器(滑动窗口计数)、漏桶算法、令牌桶(Restlimite)) 高并发限 流解决方案 高并发限流解决方案限流算法(令牌桶、漏桶、计数器)、应用层解决限流(Nginx) 限流算法 常见的限流算法有:令牌桶、漏桶。计数器也可以进行粗暴限流实现。 计数器 它是限流算法中最简单最容易的一种算法,比如我们要求某一个接口,1分钟内的请求不能超过10次,我们可以在开始时设置一个计数器,每次请求,该计数器+1

微服务解决方案 -- Spring Cloud Alibaba (五)分布式配置中心

◇◆丶佛笑我妖孽 提交于 2020-01-04 23:31:10
不了解此套教程的可以移步之前章节 1. 微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现 2. 微服务解决方案 – Spring Cloud Alibaba (二)服务提供者 3. 微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign) 4. 微服务解决方案 – Spring Cloud Alibaba (四)服务熔断 分布式配置中心 在 Spring Cloud Netfilx 的时候,使用 Config 来做配置中心,现在 Nacos Config 是现在的代替方案。 服务端 我们把自己的配置文件写入 Nacos 中 点击发布即可。 客户端 以提供者为例子添加依赖 < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-starter-alibaba-nacos-config </ artifactId > </ dependency > 添加依赖需要一定的时间,删除服务提供者的 application.yml ,并且创建 bootstrap.properties 。 ## 配置名 spring.application.name=service-provider-config

c# winform 程序打包部署

不想你离开。 提交于 2020-01-04 12:52:10
1 新建一个 c# 安装部署项目 2 在文件系统编辑器里把做好的项目的可执行文件及要用到的其它文件(相关dll及资源文件)添加进来(应用程序文件夹) 3 如果要在程序菜单中加快捷方式,可以在应用程序文件夹里把项目的可执行文件 生成一个快捷方式,再剪切到 用户的程序菜单 栏里同时可以把名称改成你要的名称 4 如果要加进卸载功能 vs 2003 下 ,在应用程序文件夹里添加文件的时候同时把 C:\WINDOWS\system32\msiexec.exe 这个文件加进来, 建个快捷方式,剪切到 用户的程序 文件夹中 在属性窗口中 arguments 输入 /x {productcode} 这个productcode 是空上安装项目的属性里的 productcode 的属性值,copy过来即可,如 /x {16C2B03C-F8C9-4BE9-9BD6-D4E6319FDA66} 5 同时可以为快捷方式指定自己的图标,在属性的icon 里可指定 1: 新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 此主题相关图片如下: 2: 安装向导 关闭后打开安装向导,点击下一步,或者直接点击完成. 3: 开始制作 安装向导完成后即可进入项目文件夹: 双击" 应用程序文件夹 "在右边的空白处右击,选择添加->文件

ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用

限于喜欢 提交于 2020-01-02 02:50:47
一、前言 1、本文主要内容 使用dotnet cli创建基于解决方案(sln+csproj)的项目 使用Visual Studio Code开发基于解决方案(sln+csproj)的项目 Visual Studio Code Solution插件( vscode-solution-explorer)基础使用介绍 基于 .NET Core web项目模板构建 ASP.NET Core MVC Web应用 ASP.NET Core MVC框架上手 2、本教程环境信息 软件/环境 说明 操作系统 Windows 10 SDK 2.1.401 ASP.NET Core 2.1.3 IDE Visual Studio Code 1.27 浏览器 Chrome 69 3、前置知识 你可能需要的前置知识 MVC框架/模式介绍 https://baike.baidu.com/item/mvc 控制反转(IOC)原则与依赖注入(DI) ASP.NET Core 默认集成了DI。所有官方模块的引入都要使用DI的方式引入。 https://baike.baidu.com/item/IOC 二、项目准备 1、项目创建 .NET平台的项目构建有两个概念:解决方案(Solution)、项目(Project)。 所有的项目开发,不论是Web项目,还是控制台应用程序,都必须基于Project来构建

vs2013+caffe+cpu

╄→尐↘猪︶ㄣ 提交于 2020-01-02 01:16:24
1、下载caffe官网提供的工具包,复制Windows下CommonSettings.props.example,后缀改为CommonSettings.props 2、由于电脑无GPU,所以修改复制过来的CommonSettings.props配置文件: (1)CpuOnlyBuild--->true (2)UseCuDNN--->false 3、邮件解决方案Caffe--->生成解决方案,在caffe-master文件夹同一目录下会生成NugetPackages文件夹 4、如果说无法打开libcaffe.lib之类的error,解决方法是直接对libcaffe重新生成,或者直接生成一次。再重复步骤3 5、设置一下运行项,解决方案右键'caffe'->属性,点击当前选定内容 6、运行caffe.cpp,直接双击打开caffe.cpp,然后ctrl+f5直接编译 7、新建项目,拷贝已经编译好的项目中的.vcxproj文件,修改 <RootNamespace>项目名</RootNamespace>中项目名为自己新建的项目名 重新编译,会自动增加一个cpp文件,将其移除(不要删除)即可,然后新建cpp文件,写主函数即可 来源: https://www.cnblogs.com/crazybird123/p/7785184.html

VS2010 工程设置

旧巷老猫 提交于 2020-01-02 01:15:09
本篇文章的主要内容转载自 http://blog.csdn.net/waitforfree/article/details/8622059 ,感谢博主的辛苦劳动。此处,对比较重要的部分,进行进一步分析汇总,供以后学习总结使用。 VS2010的项目管理是以解决方案为中心,任何项目都是挂靠在解决方案下面,同一个解决方案下面可以添加多个项目,一次只允许一个项目处于活动状态。 以下建立一个 名为fangan的 解决方案,下面挂靠两个项目(ssyy和SecondProject) 默认情况下,项目的生成中间文件依据生成配置类型(DEBUG,RELEASE),位于自身目录下的对应文件夹里面(DEBUG、RELEASE),项目的可执行文件位于解决方案的目录下,位于解决方案的对应文件夹(DEBUG、RELEASE)下。 以下以C++工程项目为例子,解决方案总文件夹下面会有 解决方案配置文件*.sln, 两个生成目录DEBUG和RELEASE(其中生成最终的exe或者dll),和对应的项目文件夹。 项目文件夹下面会有对应的DEBUG和RELEASE( 选用RELEASE编译后就会生成),项目配置文件*.vcxproj,和对应的实现文件,这里面的DEBUG和RELEASE文件夹里面存放的是中间编译结果(*.obj),不存放exe或者dll之类的输出,在使用上别注意。 VS2010 重要的项目设置点:

docker基础入门之一

早过忘川 提交于 2020-01-01 13:22:20
一、概述   1、传统虚拟化技术:      纯软件的虚拟化是通过对于硬件层的模拟从而实现允许运行多个操作系统;      硬件辅助虚拟化需要硬件层面对于虚拟化的支持,类似Intel-VT技术等,具有更高的运行效率;     解决方案:       商业版解决方案:VMware vSphere、 VMware Fusion       开源解决方案:KVM、Xen   2、system-level虚拟化(container虚拟机技术):      不需要模拟硬件层;      共享同一个HOST OS的Kernal      user space instance = Container              解决方案:       LXC:       OpenVZ:       Docker:       Imctfy:google开源的容器虚拟实现   3、容器虚拟化和传统虚拟化的区别: 传统虚拟化 容器虚拟化 创建速度 很慢 非常快 性能影响 通过对于硬件层的模拟,增加了系统调用链路 的环节,有性能损耗 共享Kernel,几乎没有性能损耗 资源消耗 很大  很小,一台机器可以轻松创建多个 Container 操作系统覆盖 支持Linux、windows、Mac等 仅仅支持Kernal所支持的OS   4、container核心技术cgroups,namespace

编写技术解决方案思路

*爱你&永不变心* 提交于 2020-01-01 07:29:10
原文入口—《 原创作责 》 前言 技术解决方案概论 如何写好技术解决方案 技术解决方案的设计优化 设计工具的应用 前言: 1、解决方案设计是一项系统的工作,作为解决方案设计或参与人员需要站在系统高度去理解解决方案, 因为方案本身不是孤立的。 2、解决方案的编写者需要承担多重的角色,参与项目售前售中多项工作, 包括拜访客户、需求调研、交流沟通、实施策划等。 3、每一份方案都是与具体项目相关联,与实践密切相关,所以要写出好的解决方案要有理论基础,更要积极实践。 目标:掌握解决方案设计的基本思路,把握方案设计的各个要点,使方案设计更加规范、专业、 对方案设计的实战应用起到指导作用。 技术解决方案概论 解决方案是对一个具体项目的规划设计,围绕具体的需求而展开,阐述技术、方法、产品和应用; 解决方案的设计应充分理解需求,采用合适的技术手段和产品满足或引导用户的需求,并阐述方案特色,体现方案的竞争优势,实现公司在项目中的目标; 理解方案商业特性、技术特性和项目特性; 解决方案该什么时候出招 售前工作阶段 提交解决方案名称 作用 初步接触 公司白皮书 让客户了解公司实力 初步交流 产品白皮书 让客户对产品有初步认识 初步意向 项目合作建议书 为客户启动项目提供可行性建议分析或者用于客户初步选型阶段以期入围 售前调研 项目业务诊断书 项目解决方案书 项目实施总体计划