В настоящее время я пытаюсь загрузить файлы с сервера, используя веб-службы в переносной библиотеке. Для каждого файла я делаю так:
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 et MonoTouch.
Итак, мой вопрос: почему письмо прекращается?