【问题标题】:ASP.NET Application Performance of HTML ReferencesHTML 引用的 ASP.NET 应用程序性能
【发布时间】:2015-11-18 19:24:06
【问题描述】:

关于脚本和 html 的快速问题。

在一个 html 文件中,如果我使用以下两个示例包含一个 JavaScript 脚本,那么在速度方面是否会有差异(尽管可能很小):

<script src="http://localhost:56090/Scripts/jquery-2.1.4.js"></script>

<script src="~/Scripts/jquery-2.1.4.js"></script>

第一个包含来自同一 ASP.NET 解决方案中不同项目的脚本,而第二个使用来自同一项目的脚本作为 html 文件。

会有什么不同?

附带说明(但有点相关),解决方案的项目如何相互关联,它们是编译到单个应用程序域中还是它们是单独的应用程序但相互链接?

非常感谢:)

【问题讨论】:

    标签: javascript html asp.net project solution


    【解决方案1】:

    客户端有的区别。两者都会发送到完全限定的 URL(甚至可能是完全相同的 URL,具体取决于 ~ 解析的内容),并且客户端认为两者之间没有区别。

    服务器端存在微小差异,因为 ASP.NET 需要将~ 转换为路径。这是一个非常优化、非常快速的操作。你不应该注意到差异。但是,如果您的规模确实需要挤压每毫秒(例如,Google 规模),那么这会增加一毫秒。

    您很可能应该使用最符合您的应用程序需求的逻辑。性能差异可以忽略不计。

    【讨论】:

    • 缓存后....谁知道呢?意见得到遵守……据我所知,通常是一次。此外,如果无论如何编译这些页面,不管“~”与否......我们真的在谈论纳秒而不是我认为的毫秒。
    • @Seabizkit:可能。 “一毫秒”实际上只是一个随机值,用于展示差异的大小。这是一个非零差异,但在绝大多数情况下,差异并不重要。
    • 完全理解你...我只是在说明它的差异要小得多......因为,如果你真的试图挤压你可以挤压的每一点......它几乎不可能在 c# 中测量纳秒,而你可以毫秒.. 所以出于性能原因试图改变它基本上是无法测量的,因此我说没有区别,一周中的任何一天都有优势。由于性能差异如此之小,它无法准确测量
    • @Seabizkit:同意,至少在绝大多数情况下是这样。在规模上,小数字变成大数字。例如,Google 已投入大量精力从其主页中删除所有可能的字节。一个字节,每秒多次,是一个明显的总成本。然而,OP 不太可能以这样的规模工作。
    • @Seabizkit:(轶事:有人曾经计算过全球能源消耗量,因为在 CRT 显示器时代,当白色使用更多时,谷歌使用白色背景而不是黑色背景。比黑色更强大。对于一台显示器来说,它可以忽略不计。总的来说,它令人震惊。)
    【解决方案2】:

    没有区别

    作为

    <script src="~/Scripts/jquery-2.1.4.js"></script>
    

    编译成正确的字符串...

    无论如何都会编译视图而不管 ~

    时间上的差异在c#中基本上是无法测量的... 所以你无法使用约定工具来判断是否真的存在差异......我们可能在这里谈论的是纳秒或更小。

    所以最好用

    <script src="~/Scripts/jquery-2.1.4.js"></script>
    

    比硬编码任何值。

    优点是基本网址是动态的/相对于网站的内容。 即,如果您对 localhost 进行硬编码......当您尝试将其部署到实际 url 时,您将遇到巨大的问题。例如www.mycoolwebsite.com

    【讨论】:

      猜你喜欢
      • 2012-05-26
      • 2010-11-12
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      相关资源
      最近更新 更多