저는 C#에 다소 익숙하며 비동기 메서드에서 textbox
값을 검색하는 데 문제가 있습니다. 내가 UI에서 텍스트 입력을 검색하고 코드에서 사용하는 스레드. VS 2010은 내 코드를 허용하지만 디버깅을 시작할 때 Invalid cross-thread access
예외가 발생합니다. 아이디어? 내가 놓친 게 있니?다른 메서드 또는 비동기에서 텍스트 상자에 액세스
public void Response_Completed(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
{
JObject rootObject = JObject.Load(new JsonTextReader(streamReader));
string tracknum = trackid.Text; // Invalid cross-thread access exception
string source = rootObject[tracknum]["source"].ToString();
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
//removed
});
}
}
참고 : 나는 윈도우 폰 7 플랫폼에서이 작업을 수행하려고 해요
당신은 대신에 다른 스레드의, UI 스레드에서 텍스트 상자의 값을 얻기 위해해야
감사를 찾을 수 좋겠지 만 것입니다 윈도우 폰 7에서이 작품? 나는 이것을 시도했지만 작동하지 않는 'System.Controls.Textbox'에 'Invoke'에 대한 정의가 포함되어 있지 않은가? – ForeverLearning
@ForeverLearning : 글쎄, 실제로 Window Phone 7에서 실행된다는 것을 모르는 경우, 태그를 지정해야합니다. –
죄송합니다. 그래도 고맙습니다. – ForeverLearning