我很可能在这里丢失了一些东西,但在Silverlight中使用BeginGetResponse时我注意到性能非常低下。Silverlight ClientHttp请求的性能下降
需要很长一段时间的回火(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大小的资源,“得到响应”可以需要10秒才能在silverlight中开枪。
当您运行代码两次(或更多)第二次更快时? – 2011-05-12 16:56:23
不,不怕,不怕 – meandmycode 2011-05-12 17:41:44