我试图弄清楚这个元素,我已经制作了一个 ftp 模块,其中包含几个动作,除了上传方法之外,它们都可以正常工作。事实上它确实有效,但它仍然返回错误。
所以一段时间后我得到一个超时错误,但是当我检查我的 ftp 时,文件被成功添加。所以我无法理解这个功能..
我的代码:
public static Boolean upload(string remoteFile, string localFile, string applicatie_url) {
Boolean returnbool = false;
try {
FtpWebRequest ftpRequest;
FtpWebResponse ftpResponse = null;
Stream ftpStream = null;
ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
ftpRequest.Credentials = new NetworkCredential(user, pass);
ftpRequest.UseBinary = true;
ftpRequest.UsePassive = true;
ftpRequest.KeepAlive = true;
ftpRequest.Method = WebRequestMethods.Ftp.UploadFile; // upload
byte[] b = File.ReadAllBytes(localFile);
ftpRequest.ContentLength = b.Length;
ftpStream = ftpRequest.GetRequestStream();
try {
ftpStream.Write(b, 0, b.Length);
ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
} catch (Exception ex) {
// Error catching
}
// Cleanup
ftpStream.Close();
ftpRequest = null;
ftpResponse = null;
returnbool = true;
} catch (Exception ex) {
// Error catching
}
return returnbool;
}
我的前消息:“传输超时。”
我的 ex.stacktrace :''在 System.Net.FtpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00052] 在 /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/ Profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/System/System.Net/FtpWebRequest.cs:411 在 System.Net.FtpWebRequest。 GetResponse () [0x00009] 在 /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profiles/mono-2-10/build-root/mono-2.10。 11/_build/mono-2.10.11.git/mcs/class/System/System.Net/FtpWebRequest.cs:426 at AutoPolis.FTPHelper.upload (System.String remoteFile, System.String localFile, System.String applicatie_url) [ 0x00078] 在 /Users/.../App_Code/FTPHelper.cs:92 '
任何帮助,将不胜感激。我使用 MonoDevelop 作为 IDE 在我的 Mac 上工作,不知道这是否会给这个元素带来任何机会..