代码之家  ›  专栏  ›  技术社区  ›  russau

您是否应该对ASP.NET站点进行编码,以便它们可以在VDIR中生存?

  •  0
  • russau  · 技术社区  · 17 年前

    http://localhost/ProjectA , http://localhost/ProjectB .

    住在VDIR里听起来并不难。确保所有图像/CSS/链接都是相对路径,经常使用“~”。听起来是个不错的练习。硬编码图像等,因此它们只在从“/”提供应用程序时工作听起来像是一种糟糕的做法。

    在构建链接的任何地方都有一些细微差别(大多数不是常见的场景):

    所以你在这么做吗?优点/缺点?还有什么我错过的吗?

    2 回复  |  直到 17 年前
        1
  •  1
  •   moribvndvs    17 年前

    通常最讨厌的部分是需要引用其他路径的可重用客户端行为,它们本身可以在应用程序目录结构的页面中重用。

    我喜欢响应“globalvars.ashx”的idea处理程序(或类似的东西;有很多方法可以处理),它动态地发出(并允许缓存)有关全局应用程序属性的属性。

    假设负责globalvars.ashx的处理程序写入如下结果:

    String.Format("var ApplicationProperties = {{ RootPath:{0} }};", Request.ApplicationPath);
    

    ApplicationProperties.RootPath .

        2
  •  1
  •   Elijah66    17 年前

    简言之 对 . 不这样做的弊大于利。实际上,我认为使用应用程序相对路径(“~”)也可以在很大程度上缓解您的前两点,但尽管如此,一些场景,例如“集成级”(如PayPal)可能确实很棘手。

    但归根结底,如果你需要把你的应用程序放在一个虚拟目录中,如果你一开始就没有将你的应用程序编码为对vdir友好的,那么你几乎肯定会遇到问题。我知道我有。

    一些背景/背景:我的当前 生产