asp-classic – 经典asp – 更好地做很多响应.写或使用<%
我在经典ASP中编辑一些遗留代码,它使用了大量代码,如下所示:
pf "<div class=""span-6 last"" style=""margin-top:4px;"">" pf "<div class=""clean-lightblue-left"" style=""margin-top:4px;"">" pf "<span style=""float: left; margin-right: 0.3em;"" class=""ui-icon ui-icon-print""></span><a href=""#report"" name=""report"" id=""topic_report_download"">Topic Progress : <b>Download Report</b></a>" pf "</div></div>" 在此示例中,pf是一个实用程序函数,它与带有行返回的response.write基本相同. 我宁愿做这样的事情: ...asp code %> Regular HTML code here <% asp code... 我是asp的新手,但我听说过上下文切换,而且成本很高.这两个选项中哪一个更昂贵? 解决方法
首先让我以你的具体例子为底线.一系列带有普通字符串文字的Response.Write调用比将完整的HTML包含在脚本代码之外的内容要慢.
由于某些文档(或可能是历史)中的一些不幸的措辞,这种“上下文切换”的想法有点谬误.我们倾向于将ASP文件视为HTML,其中使用<%script here%>在其中散布了一些脚本.事实上,ASP文件是一个脚本文件,里面有一些HTML.如果您将其视为使用%>分隔html内容,则更容易推断它的结果.此处的内容<%(在文件的开头和结尾处隐含>%和<%). 当文件被解析为p代码时,将创建一个完全由脚本引擎处理的文件(没有“上下文切换”).实际上%> ….<%成为Response.Write的一种特殊形式,它将%><%之间的内容发送到缓冲区.不同之处在于字节逐字逐句显示在原始ASP文件中,而标准的Res??ponse.Write接受来自VBScript的Unicode字符串,然后必须将一组字节编码到Response.CodePage中以放入缓冲区. 因此,“上下文切换”实际上只是脚本写入缓冲区的次数.有很多<%= someExpression%>在HTML中创建大量缓冲区写入. 这些天,除非你生成一个疯狂的大量HTML(文章Doozer提到的是10岁)你将打开缓冲.许多写入的成本非常低.减少它们可以帮助但是必须记住VBScript处理字符串连接的方式也不是没有它的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 如何获取ASP.NET Core中的中间件列表
- asp.net-ajax – 该页面正在执行异步回发,但ScriptManager.
- 为.NET Core项目定义Item Template
- asp.net – 为什么不能通过IIS7中的web.config删除“服务器
- ASP.NET Core应用中与第三方IoC/DI框架的整合
- ASP.NET / IIS7 Url重写映射不起作用
- asp.net-mvc – 如何在Windows Azure网站(asp.net mvc4)上更
- 对于单个控件,asp.net – ValidateRequest =“false”
- asp.net-mvc – ASP.NET MVC – 将表单发布到html书签?
- asp.net-mvc-3 – 如何避免使用MVC3 FileContentResult重复