我試圖使用FTPWebRequest在我的wcf塊中從FTP複製文件,下面是代碼。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);請給我建議。
'數組''不執行'IEnumerable'這是'ToArray'方法擴展的類型。 'newbuffer'已經是'Array'類型了,你爲什麼需要轉換它? –
2012-01-30 01:53:05
你在問題結尾寫了你自己的答案。你是否嘗試過這種方法,併爲它工作?如果沒有,你給了什麼錯誤? – 2012-01-30 01:53:29
@ M.Babcock:你從哪裏得到錯誤的想法,即數組沒有實現'IEnumerable'?從規範:「在.NET Framework 2.0版中,Array類實現了System.Collections.Generic.IList ,System.Collections.Generic.ICollection 和System.Collections.Generic。 IEnumerable '通用接口。「當然,你的第二點是正確的。 –
jason
2012-01-30 01:56:40