Bir vsftpd sunucusuna dosya yüklemek için System.Net.FtpWebRequest
kullanırsam, dosyanın düzgün yüklenip yüklenmediğini kontrol etmek için GetResponse kullanmalı mıyım? Ya da her hata için bir istisna alıyorum? System.Net.FtpWebResponse
’da neleri kontrol etmeliyim?Hatalar için FtpWebRequest nasıl denetlenir
6
A
cevap
6
Evet, böyle ... istek nesneden FtpWebResponse nesneyi kapmak istiyorum:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.UploadFile;
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
request.KeepAlive = false;
byte[] fileraw = File.ReadAllBytes("CompleteLocalPath");
try
{
Stream reqStream = request.GetRequestStream();
reqStream.Write(fileraw, 0, fileraw.Length);
reqStream.Close();
}
catch (Exception e)
{
response = (FtpWebResponse) request.GetResponse();
// Do something with response.StatusCode
response.Close();
}
Sen Ftp.WebResponse.StatusCode kontrol etmek isteyeceklerdir.
StatusCode'da geri gönderilebilecek çok az üye var, bu nedenle karşı denetleme yapmak zor olabilir.
İşte döndürülebilir/açıklamaları kodlarının bir listesi:
DÜZENLEME: bir şey bir transfer ile yanlış giderse, bir dere yazar ateşlemek ne zaman bir özel durum oluşturması gerekir. Yapabilecekleriniz, etrafınızdaki her şeyi denemektir, eğer bir şey ters giderse durum kodunu alabilecek ve kullandığınız günlük ortamına yazdırabileceksiniz, böylece sorunun ne olduğunu görebilirsiniz. Tüm bunları yansıtmak için yukarıdaki kodu değiştirdim (sadece tek bir aktarım yolu kullanarak kendi başınıza kullanabilirsiniz).
FtpWebResponse'de neleri kontrol etmeliyim? Çeşitli FTP sunucuları farklı sonuçlar sağlar? O zaman ne sonuçlar vsftpd verebilir? – magol
FtpStatusCode'un 300'ün altında olup olmadığını kontrol etmek doğru mu? – magol