asp.net c#向客户端发送二进制文件速度问题
我有两个不同的类,我正在测试发送文件到浏览器。 第一个是at使用特定于范围的头,以便提供恢复 第二个是at使用块读取发送大文件。asp.net c#向客户端发送二进制文件速度问题,c#,file,download,C#,File,Download,我有两个不同的类,我正在测试发送文件到浏览器。 第一个是at使用特定于范围的头,以便提供恢复 第二个是at使用块读取发送大文件。 两者都适用于一种不同的情况。就下载速度而言,第一个比第二个慢很多。第一个我不能超过80KB/s,第二个我可以尽可能快 我做了一些测试,结果是一样的。这是一种幻觉还是第一个上有什么东西减慢了下载速度 我还注意到,第一个似乎阻止了其他请求。例如,如果我从第一台服务器请求一个文件,那么在下载完成之前,一台服务器不会响应我的另一个请求。即使我要求不同的页面。如果我从不同的浏览
两者都适用于一种不同的情况。就下载速度而言,第一个比第二个慢很多。第一个我不能超过80KB/s,第二个我可以尽可能快 我做了一些测试,结果是一样的。这是一种幻觉还是第一个上有什么东西减慢了下载速度 我还注意到,第一个似乎阻止了其他请求。例如,如果我从第一台服务器请求一个文件,那么在下载完成之前,一台服务器不会响应我的另一个请求。即使我要求不同的页面。如果我从不同的浏览器打开不同的会话,它不会这样做
谢谢。终于!我通过在下载页面中添加EnableSessionState=“ReadOnly”成功地解决了这个问题 看 “如果可以,请使用ReadOnly属性
对于只需要读取会话数据的页面,请考虑将EnabLeSeSession状态设置为只读。< /P> 为什么
内部使用会话状态的页面请求使用ReaderWriterLock对象来管理会话数据。这允许在没有锁的情况下同时进行多个读取。当写入程序获取锁以更新会话状态时,所有读取请求都会被阻止。通常每个请求对数据库进行两次调用。第一次调用l连接到数据库,将会话标记为已锁定,然后执行页面。第二个调用写入任何更改并解锁会话。通过将EnableSessionState设置为ReadOnly,可以避免阻塞,并减少对数据库的调用,从而提高性能。“终于!我通过在下载页面中添加EnableSessionState=“ReadOnly”成功地解决了这个问题 看 “如果可以,请使用ReadOnly属性
对于只需要读取会话数据的页面,请考虑将EnabLeSeSession状态设置为只读。< /P> 为什么
内部使用会话状态的页面请求使用ReaderWriterLock对象来管理会话数据。这允许在没有锁的情况下同时进行多个读取。当写入程序获取锁以更新会话状态时,所有读取请求都会被阻止。通常每个请求对数据库进行两次调用。第一次调用l连接到数据库,将会话标记为已锁定,然后执行页面。第二个调用写入任何更改并解锁会话。通过将EnableSessionState设置为ReadOnly,可以避免阻塞,并减少对数据库的调用,从而提高性能。 "