我可能在这里遗漏了一些东西但是我注意到在Silverlight中使用BeginGetResponse时性能非常慢。
回调要花费很长一段时间才能触发(10-20秒),我正在进行的请求是大量资源,但我希望一旦解析了标题就会触发回调(基本上是立即的) )。
如果我接受代码并在.NET 4上运行它,则会立即触发回调。
以下是我在两种情况下使用的代码(使用.NET 4中的WebRequest.Create吧):
var url = @"insert http url to large resource here";
var req = WebRequestCreator.ClientHttp.Create(new Uri(url));
req.BeginGetResponse(r =>
{
var res = req.EndGetResponse(r);
Debug.WriteLine("Got response");
}, null);
例如,一个大小为10MB的资源,“得到响应”在Silverlight中可能需要10秒钟。
答案 0 :(得分:0)
是否在BeginGetResponse中下载了10MB文件,这就是文件越大它速度越慢的原因。更小的文件“更快地得到响应”吗?