【发布时间】:2012-11-05 10:18:52
【问题描述】:
目前,我正在尝试使用可移植库中的 Web 服务从服务器上传文件。对于每个文件,我都会这样做:
WebRequest request = WebRequest.Create("http://localhost:49364/" + url);
request.BeginGetResponse((aResult) =>
{
var retour = aResult.AsyncState as WebRequest;
WebResponse reponse = retour.EndGetResponse(aResult);
callback(reponse);
}, request);
在我的回调方法中,我这样做了:
byte[] bytes;
string currentFileName = fileName;
string categorie = currentFileName.Split('/').ElementAt(0);
string dir = currentFileName.Split('/').ElementAt(1);
using (var reader = new BinaryReader(reponse2.GetResponseStream()))
{
bytes = new byte[reponse2.ContentLength];
reader.Read(bytes, 0, (int)reponse2.ContentLength);
}
fileService.EnsureFolderExists(categorie);
fileService.EnsureFolderExists(fileService.PathCombine(categorie, dir));
fileService.WriteFile(currentFileName, bytes);
我将整个文件作为一个字节数组。但是,使用 winRT,写入文件会很快停止,并且我的本地文件不完整。如果我尝试只上传一个文件,写入也会停止。 但是,如果我尝试使用 Silverlight(我将 MvvmCross 扩展到 Silverlight),则编写完成。我还没有测试过 MonoDroid 和 MonoTouch。
所以,我的问题是:为什么写作停止了?
【问题讨论】:
标签: c# windows-runtime mvvmcross