我尝试将ASP.Net MVC网站上传到Azure网站帐户,我遇到了一个严重的问题。大多数文件将传输正常,但一些将永远失败。麻烦的是它总是相同的文件失败,我无法弄清楚为什么。我尝试使用FTP和“Web部署”方法从Visual Studio部署,我尝试通过FileZilla使用FTP和FTPS,并遇到同样的问题。我可能做错了什么???
这是我看到的错误的FileZilla日志。
Status: Resolving address of waws-prod-blu-003.ftp.azurewebsites.windows.net
Status: Connecting to 137.117.88.16:21...
Status: Connection established, waiting for welcome message...
Response: 220 Microsoft FTP Service
Command: USER xxxxx\xxxxxxxx
Response: 331 Password required
Command: PASS *********
Response: 230 User logged in.
Command: OPTS UTF8 ON
Response: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status: Connected
Status: Starting upload of C:\websites\HSDeploy\css\bootstrap.min.css
Command: CWD /site/wwwroot/css
Response: 250 CWD command successful.
Command: TYPE A
Response: 200 Type set to A.
Command: PASV
Response: 227 Entering Passive Mode (137,117,88,16,39,138).
Command: STOR bootstrap.min.css
Response: 550 The process cannot access the file because it is being used by another process.
Error: Critical file transfer error
这只是其中一个失败文件的示例。这是Windows Azure网站中的错误还是我做错了什么?在我看来,这是一个关键问题,也是使网站在Azure上运行的主要障碍。 :-(
答案 0 :(得分:7)
这听起来像是服务器上的超时问题。您需要告诉您的FTP客户端保持连接处于活动状态,以便在第一个连接仍在尝试上传文件时,它不会启动第二个连接。
要在FileZilla客户端中进行设置,请转到编辑,设置,连接,FTP,然后选中"发送FTP保持活动命令"复选框。
有关该问题的更详细说明,请访问:http://blogs.msdn.com/b/wats/archive/2013/12/13/setting-up-a-passive-ftp-server-in-windows-azure-vm.aspx向下滚动并阅读“从Azure SLB角度考虑的要点”#34;部分。
我在Azure上的FTP遇到了同样的问题并检查了"发送FTP保持活动命令"上面的复选框解决了我的问题。
希望这有帮助!
答案 1 :(得分:3)
我遇到了与Azure + FileZilla相同的问题。我通过连接到FTP主机名而不是FTPS主机名解决了这个问题。
答案 2 :(得分:1)
我遇到了类似的问题,但错误消息略有不同:
Response: 150 Opening BINARY mode data connection.
Response: 550 The supplied message is incomplete. The signature was not verified.
Error: File transfer failed
我使用CuteFTP代替FileZilla来解决问题。
答案 3 :(得分:1)
根据Microsoft支持网站的Bug,请参阅链接:http://support.microsoft.com/kb/238644
似乎唯一的解决方案是在内部锁定被释放之前重试。
答案 4 :(得分:0)
好的,排序了。我正在尝试一台亚马逊网络服务机器,奇怪的文件将无法一次又一次地转移,就像是在挑选相同的文件。
在我的情况下,我的客户端计算机上的防病毒软件搞砸了。 AVG ....
答案 5 :(得分:0)
在连接设置的“常规”选项卡上,使用FileZilla遇到同样的问题,在“加密”中选择“通过TLS需要隐式FTP”,解决了我的问题(使用协议FTP而不是SFTP)。