В методе обратного вызова я пытаюсь получить текстовое свойство textBox следующим образом:
string postData = tbSendBox.Text;
Но так как он не выполняется в потоке пользовательского интерфейса, он дает мне исключение между потоками.
Я хочу что-то вроде этого:
Dispatcher.BeginInvoke(() =>
{
string postData = tbSendBox.Text;
});
Но это работает асинхронно. Синхронная версия:
Dispatcher.Invoke(() =>
{
string postData = tbSendBox.Text;
});
Но Dispatcher.Invoke () не существует для Windows Phone. Есть ли что-то эквивалентное? Есть ли другой подход?
Вот вся функция:
public void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
// End the operation
Stream postStream = request.EndGetRequestStream(asynchronousResult);
string postData = tbSendBox.Text;
// Convert the string into a byte array.
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
// Write to the request stream.
postStream.Write(byteArray, 0, postData.Length);
postStream.Close();
// Start the asynchronous operation to get the response
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
}