ASP.NET ile sunucuya FTP üzerinden dosya yüklemeye çalışırken The remote server returned an error 550 hatası alıyor olabilirsiniz, önce bu hatanın neden kaynaklandığını bir anlayalım, sonra da çözümüne geçelim.
The remote server returned an error 550 hatası, sunucunuzun FTP bağlantı talebinize verdiği olumsuz cevabın genel hata kodudur, sunucu izinleri, klasör yazma izinleri ya da IP erişim kısıtlamaları gibi bir çok sebeple bu hatayı alıyor olabilirsiniz. Ama hata, basit bir şekilde hatalı FTP kullanıcı adı ya da parola yazımından da ibaret olabilir. Ya da ilgili FTP hesabının sizin erişmek istediğiniz klasöre okuma/yazma yetkisi de olmayabilir. Hatanın nedenini daha net olarak görebilmek için hatanın açıklamalarını aşağıdaki gibi tespit etmeniz yerinde olacaktır:
try
{
//Hata aldığınız kodu buraya yapıştırın
}
catch(WebException ex)
{
String hataSebebi = ((FtpWebResponse)ex.Response).StatusDescription;
}
Hatanın sebebinin erişim izinlerinden mi yoksa hatalı dosya adı gibi durumlardan mı kaynaklandığını tespit ettikten sonra duruma göre çözüm üretebilirsiniz. Örneğin FTP account'unun erişim izinleri yetersiz ise erişim izinlerini güncelleyebilir ya da farklı bir FTP account'u ile aynı kodları çalıştırmayı deneyebilirsiniz.
Edit: Benzer bir diğer hata durumu için bkz: The underlying connection was closed hatası ve çözümü