Я создаю приложение на Windows Phone 7 для передачи фотографий по Wi-Fi.
Позволяет пользователю выбирать фотографии (это нормально работает), и я сохраняю пути в переменной, которую можно использовать позже.
Когда я пытаюсь отправить фотографию, в моем потоке появляется ноль, как показано ниже:
Точнее говоря, я запускаю следующую передачу фотографий, когда индикатор выполнения изменяется, поэтому потоки не совпадают.
public transferPage()
{
InitializeComponent();
// Get smartphone unique ID
object DeviceUniqueID;
byte[] DeviceIDbyte = null;
if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out DeviceUniqueID))
DeviceIDbyte = (byte[])DeviceUniqueID;
deviceId = Convert.ToBase64String(DeviceIDbyte);
nbPhotos = photoContainer.photosUri.Count;
photoContainer.index = 0;
index = 0;
transferPhoto();
}
private void ProgressBarValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Thread.Sleep(3000);
if (photoContainer.photosUri.Count > 0)
transferPhoto();
}
private void transferPhoto()
{
string url = String.Format(photoContainer.urlTransfer, nbPhotos, deviceId);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), webRequest);
}
private void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
// End the stream request operation
Stream postStream = webRequest.EndGetRequestStream(asynchronousResult);
var fs = Application.GetResourceStream(new Uri(photoContainer.photosUri[0], UriKind.RelativeOrAbsolute)).Stream;
A - Пустое исключение. Возникает в последней строке. Он никогда не поднимается в первом файле, иногда во втором и всегда третьем. photoContainer.photosUri [0] по-прежнему хороший путь к файлу, который я подтвердил в отладчике.