Asp.NetResponse.TransmitFile和Response.End()的正确使用这段代码的正确用法是什么?httpContext.Response.AddHeader("Content-Disposition","inline;filename="+HttpUtility.UrlPathEncode(fileName));httpContext.Response.ContentType="图片/png";httpContext.Response.AddHeader("Content-Length",newFileInfo(physicalFileName).Length.ToString());httpContext.Response.TransmitFile(物理文件名);httpContext.Response.Flush();httpContext.Response.End();//用还是不用?使用.Flush()和.End()真的好吗?根据这个你永远不应该使用Response.End()(仅在错误或黑客案例中)但在某些答案中.End()被重新处理......?喜欢这篇文章。那么用Response.End合适吗?我添加了这个,这样人们就不会因为错误地接受响应而陷入困境:在大多数情况下,传输文件后可能需要Response.End()。如果您使用TransmitFile,或者如果您决定直接写入输出流都没有关系,您只需要确保在发送文件后没有人可以写入单个字节。这一点特别重要,因为在某些时候,IIS上会安装一个过滤器,全局asaxEndRequest上的代码,或者开发人员调用代码然后做更多的事情,其中??任何一个最终都会在没有你的情况下向输出流添加更多内容注意它,它会破坏您传输的文件的内容。-CompleteRequest不会为您省钱,因为它允许在您调用后向响应添加更多内容。Response.End()是保证将来不会有其他代码更改,或者IISfilter将按预期操作您的响应的唯一方法。根据ThomasMarquardt的说法,您永远不应该使用Response.End()。相反,您应该使用Context.ApplicationInstance.CompleteRequest()。查看这篇文章,它来自MicrosoftKB,它建议使用Application.CompleteRequest()而不是Response.End()。以上就是C#学习教程:正确使用Asp.NetResponse.TransmitFile和Response.End()分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
