在.net中设置etag当然不能简单的调用appendHeader来添加,因为那样不能保证文件被改动后etag的变化(如果文件变动了而etag不变化,用户下载下来的文件就可能前一半是旧的,后一半是新的,那样就乱了),幸好,在asp.net中,提供了一个SetETagFromFileDependencies()方法可以让我们很方便的设置etag。
首先必须指定本次输出(response)所依赖的文件,当这些文件中的一个变化之后,我们可能要认为后面的输出也会变化,所以也就应该让etag变化,这个过程ASP.NET中都提供了,而且用起来很方便
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
就是这么简单,当依赖文件中的任何一个变化的时候,etag和LastModified都会变化。
当etag设置好之后,就可以开始考虑断点续传的问题了。如果etag没有在header中设置好的话,浏览器或下载软件会认为服务器不支持断点续传。