アプリケーションを net 3.5 から 4.0 にアップグレードしました
ftp を使用してファイルの読み取りと転送を行います。私が接続するサーバーの1つを除いて、すべてが素晴らしい. あるディレクトリに戻って別のディレクトリに移動する必要があるため、そのサーバーはそもそも奇妙です。
「ftp.server.com」は実際には ftp.server.com/up に移動し、ftp.server.com/out から読み取る必要があります
この URL を使用してファイルリストを取得します。
ftp://ftp.server.com/%2fout
Web リクエストは次のように作成されます。
var request = (FtpWebRequest) WebRequest.Create("ftp://ftp.server.com/%2fout");
ファイルリストを取得します-問題ありません。その方法はディレクトリに接続するために機能しますが、ファイルの1つを読み取ろうとするとエラーが発生します。
そのリクエストを次のように作成します。
var request = (FtpWebRequest)WebRequest.Create("ftp://ftp.server.com/%2fout/" + filename);
リクエストのURIを次のように記録しました:
ftp://ftp.server.com//out/ORDER25260.xml_XL1014254ORDER25260_response.xml
私はこのスタックトレースを取得します:
The remote server returned an error: (550) File unavailable (e.g., file not found, no access). at System.Net.FtpWebRequest.CheckError()
at System.Net.FtpWebRequest.SyncRequestCallback(Object obj)
at System.IO.Stream.Close()
at System.Net.ConnectionPool.Destroy(PooledStream pooledStream)
at System.Net.ConnectionPool.PutConnection(PooledStream pooledStream, Object owningObject, Int32 creationTimeout, Boolean canReuse)
at System.Net.FtpWebRequest.FinishRequestStage(RequestStage stage)
at System.Net.FtpWebRequest.SyncRequestCallback(Object obj)
at System.Net.CommandStream.Abort(Exception e)
at System.Net.CommandStream.CheckContinuePipeline()
at System.Net.FtpDataStream.System.Net.ICloseEx.CloseEx(CloseExState closeState)
at System.Net.FtpDataStream.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at CustomModules.CustomModules.SupplierFunctions.FtpMethods.GetFile(SynsamSupplierSetting setting, String filename, Boolean deleteAfterLoad) in D:\WORK\dynamicweb\Source\CustomModules\SupplierFunctions\FtpMethods.cs:line 295
同じ資格情報を使用して FileZilla 経由でダウンロードしても問題ありません
何か案が?
前もって感謝します