【问题标题】:compilation of web.config fileweb.config文件的编译
【发布时间】:2012-10-24 09:53:08
【问题描述】:

我在看Wrox出版的Professional asp.net 2.0一书,asp.net编译的概念,第3章,页码98,他们写了以下几行:

编译过程不会编译所有类型的网络文件。事实上,它只编译特定于 ASP.NET 的文件类型,并在编译过程中排除了以下类型的文件:
- HTML 文件
- XML 文件
- XSD 文件
- web.config 文件
- 文本文件

那么我的问题是,上面几行的含义是什么?

  • 真的不需要编译web.config文件吗?
  • 如果需要哪个编译器编译这些文件(指c#编译器编译的.cs文件,aspnet_compiler编译的.aspx文件这样)
  • 如果没有编译,那么当我们在web.config文件中出现错误时,它是如何产生编译错误的?

【问题讨论】:

  • 顺便说一句,我希望您知道 ASP.NET 2.0 不再是当前版本。当前版本是 ASP.NET 4.5。在过去七年中,您阅读的有关 2.0 的部分内容发生了变化。

标签: c# asp.net parsing compilation xml-parsing


【解决方案1】:

web.config 是一个配置文件,不能编译,只是在部署时复制到网站上。

Web 应用程序启动时会解析该文件。

【讨论】:

    【解决方案2】:

    以上所有文件都不是可编译文件。它们是运行时可能需要的文件,因此应该与您的项目输出一起部署。

    特别是,web.config 是包含网站配置的文件,它由 ASP.NET 运行时加载和解释(可能来自您自己的编译文件)

    HTML 文件用于表示您网站的内容,XML 文件可以用作某种信息的数据存储,并且可以嵌入到您的编译文件中或您的可执行文件需要。 TXT 文件,嗯,它们是简单的、人类可读的文件。

    【讨论】:

      【解决方案3】:

      "•真的不需要编译web.config文件吗?"

      Web.config 在一定程度上取决于托管服务器的设置和配置方式,例如 wcf 设置、安全性、框架、调试等。

      因此,编译器“编译”web.config 的唯一方法是针对服务器进行编译。

      这意味着您将永远无法对网站进行基本更改而无需重新编译。

      只是补充一点。 web.configs 虽然没有在客户端编译,但是!当检测到更改时,服务器端会在运行时检查它们。 因此,如果您犯了错误,您确实会收到一些反馈,尽管到那时您已经发布并且有点晚了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多