采用httphandler去中转访问认证服务器。以下代码实现得是从认证远程服务器上下载资源到本地客户端。但实际连接到远程服务器上,下载文件所花费得时间非常长。大家分析下代码?看看程序所执行得时间花费在哪里,并减少这个时间花费。我认为该程序所花费太多时间,是发生在stream流写到内存流上。谢谢。讨论讨论。
页面上调用方法:
<a href="/aklib.aspx?fn=文件完整路径" target="_blank">文件名</a>
code:
(Exception ex)
{
System.Diagnostics.Debug.Fail(ex.Message);
System.Diagnostics.Debug.Fail(ex.StackTrace);
}
}
HttpHandler有时使用并不是拥有很的性能。
考虑流量大的问题:建议使用异步的HttpHandler(具体参考MSDN做法)
那你做的方法:确
你的 HttpWebRequest是同步的, 如果文件大+并发高了 结果你自己知道!
另外你通过这种方式下载,相当于下了2次! 你首先下载了一次到服务器内存,然后再把内存的东西发给用户.
实是拿内存进行了中转,所以花费一些时间。