大家好,最近被Silverlight的异步通信弄的实在受不了了。先贴代码 private void button1_Click(object sender, RoutedEventArgs e)
{
WebRequest request = WebRequest.Create("http://192.168.0.251:8080/wma1231");
request.Method = "GET";
request.ContentType = "application/x-mms-framed";
request.BeginGetResponse(new AsyncCallback(ReadCallback), request);
} public void ReadCallback(IAsyncResult asyc)
{
try
{
HttpWebRequest request = (HttpWebRequest)asyc.AsyncState;
request.ContentType = "application/x-mms-framed";
WebResponse response = request.EndGetResponse(asyc);
this.Dispatcher.BeginInvoke(() =>
{
Stream stream = response.GetResponseStream();
});
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}我知道在不同线程中访问同一个对象会报"跨线程访问异常"的错误,但是我这代码运行到
WebResponse response = request.EndGetResponse(asyc);
这一句就报"跨线程访问异常"的错误,实在不知道为什么,上周五加班的时候还好好的,今天莫名其妙就报错了,而且有时候回调函数也莫名其妙不执行,真的把我搞疯了,求助
{
WebRequest request = WebRequest.Create("http://192.168.0.251:8080/wma1231");
request.Method = "GET";
request.ContentType = "application/x-mms-framed";
request.BeginGetResponse(new AsyncCallback(ReadCallback), request);
} public void ReadCallback(IAsyncResult asyc)
{
try
{
HttpWebRequest request = (HttpWebRequest)asyc.AsyncState;
request.ContentType = "application/x-mms-framed";
WebResponse response = request.EndGetResponse(asyc);
this.Dispatcher.BeginInvoke(() =>
{
Stream stream = response.GetResponseStream();
});
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}我知道在不同线程中访问同一个对象会报"跨线程访问异常"的错误,但是我这代码运行到
WebResponse response = request.EndGetResponse(asyc);
这一句就报"跨线程访问异常"的错误,实在不知道为什么,上周五加班的时候还好好的,今天莫名其妙就报错了,而且有时候回调函数也莫名其妙不执行,真的把我搞疯了,求助
你google这两个文件试一试吧crossdomain.xml,clientaccesspolicy.xml