FTPWebRequest를 사용하여 FTP에서 파일을 복사하려고했는데 여기에 wcf 블록이 있습니다. 은 "사용"블록 System.array에 ToArray에 대한 정의가없고 확장 메서드가 없습니다.
long cl = response.ContentLength;
int bufferSize = 4155;
int readCount=0;
int i = 0;
byte[] newbuffer;
byte[] buffer = new byte[bufferSize];
//Follow the Using here
using (Stream input = response.GetResponseStream())
{
readCount = input.Read(buffer, 0, buffer.Length);
if (readCount > 0)
{
newbuffer = new byte[readCount];
Array.Copy(buffer, newbuffer, readCount);
outputStream.Write(newbuffer.ToArray(), 0, readCount);
}
outputStream.Close();
}
ftpStream.Close();
response.Close();
}
는 "DotNetUser"부재에 의해 제안 된, 나 코드 outputStream.Write (newbuffer.ToArray(), 0, readCount) 중 한 가지를 발견; "ToArray"에서 예외가 발생하면 outputStream.Write (newbuffer, 0, readCount)와 같아 보입니다. 제발 제안 해주세요.
' Array'는'ToArray' 메쏘드가 확장되는 타입 인 IEnumerable을 구현하지 않습니다. 'newbuffer'는 이미'Array' 타입입니다. 왜 변환해야합니까? –
질문 끝에 자신의 답을 썼습니다. 이것을 시도하고 그것은 당신을 위해 작동 했습니까? 그렇지 않다면 어떤 오류가 있습니까? –
@ M.Babcock : 배열에서 IEnumerable을 구현하지 않는다는 잘못된 생각은 어디에서 나왔나요? ".NET Framework 버전 2.0에서 Array 클래스는 System.Collections.Generic.IList , System.Collections.Generic.ICollection 및 System.Collections.Generic을 구현합니다. IEnumerable '일반 인터페이스. " 물론 두 번째 요점은 정확합니다. –
jason