惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
B
Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
D
DataBreaches.Net
B
Blog RSS Feed
小众软件
小众软件
人人都是产品经理
人人都是产品经理
I
InfoQ
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - zhouruixi0728

通过数据库生成CodeFirst实体类(带字段中文名称) ASP.NET Simple OOXML导出Excel,Word 防止页面重复提交,插入重复数据的解决办法 提高编码效率的一些经验 刷访问量程序 解决Ext Tab 从ifram1页刷新ifram2页 ext控件宽度变小的bug Repeater没有数据时显示空行 - zhouruixi0728 - 博客园 水晶报表添加字段 asp.net项目注意事项 - zhouruixi0728 - 博客园 清空sql2005数据库日志 还原卡破解(联想机房管家) asp.net ModalPopupExtender实现指定位置弹出 C# 多线程辅助类实现多任务 sql2005导出Excel错误解决方法 C#word转pdf失败解决方法 如何判断IIS版本 判断IIS中.NET2.0是否注册 一个委托的小例子 SQL 两表之间拷贝复制数据 C# tcp发送消息和传输文件
C# XceedFtp下载卡死解决方案
zhouruixi0728 · 2009-04-10 · via 博客园 - zhouruixi0728

[背景]

我们项目中用到XceedFtp这个FTP组件来下载数据.但是由于我们的文件比较多每次下载过程中都会时不时的卡死,

也没有任何异常抛出,就一直卡在ReceiveFile这个方法上,试过很多办法,但是一直都没解决.....困扰了我们好长时间.

[解决方案]

今天尝试修改这个bug时,只是把这个ftp的模式改为主动就解决了.....当时是超郁闷啊...

_oFtp.PassiveMode = false;

这个暂时在局域网内测试十多次都没出现卡死的问题,等在公网测试结束再来补充.

究其原因还是对ftp的原理不是很了解吧,顺便补充一下ftp主动和被动模式的区别摘自

http://www.moon-soft.com/program/bbs/readelite1095089.htm

[FTP两种工作模式]

 主动模式(Active FTP)和被动模式(Passive FTP)

    在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
    在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
    总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
    被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。