zoukankan      html  css  js  c++  java
  • [转]关于PrecompiledApp.Config

    在用Microsoft Visual Studio 2005开发ASP.NET网站时,当你开发完后,发布网站时,会生成一个PrecompiledApp.config文件,该文件内容如下:
    <precompiledApp version="2" updatable="true"/>

    这个文件是不能删除的,原因网友都有解释.现在想就PrecompiledApp.config文件还和Global.asax 文件中的事件有关联做一简单的分析.

    在我们的多网站的设计方式中我们会根据不同的部署来设置多个webconfig文件,每个文件都有自己的独立的设置信息,因此我们可能会在启动应用时加载不同的webconfig,此时我们需要在global文件中在做处理.

    例:

    void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            //ApplicationConfiguration.ApplicationStart(this.Context.Server.MapPath(this.Context.Request.ApplicationPath), ApplicationEnum.Site.enterprise);       
            
        }

    这个时候没有PrecompiledApp.config文件,此段代码是不会执行的.

     

    一下部分是部分网友的描述:

    ----------------------------------------------------------------------------------------------------------------------------------

    不能删除.PrecompiledApp.config 文件用于跟踪应用程序的部署方式,以及 ASP.NET 是否需要在请求时编译任何文件。
    删除之后一些应用程序级的东西将无法使用.

     

    ---------------------------------------------------------------------

    ASP.NET2.0的编译功能。预编译有三种方式
    一、允许更新UI预编译
         也就是只编译cs的文件,像aspx的页面文件是不编译的。
    二、不允许更新UI预编译
         也就是编译的时候不止编译cs文件连aspx页面文件和主题文件都编译。当然web.config配置文件和图片了什么的是不编译的。
    三、强命名预编译
         这个不止编译源文件而且对编译后的文件进行强命名,这样他们不能随便替换你的dll文件。
         完成这个模块时我首先考虑前两种,因为用第三种有点小题大做故作高深之意。我就在前两种中徘徊,于是我就一直反复的测试前两种方法编译后的文件在客户的开 发中配合整体测试的便捷性。我想给客户最少最简单的文件,所以在做第二种方法的单独测试中,我删除了PrecompiledApp.config文件,然 后让IIS目录指向编译后的文件,结果显示“这是预编译工具生成的标记文件,不应被删除!”于是我就把PrecompiledApp.config文件加 上,结果才能正常显示。其实在发现是PrecompiledApp.config的影响的时候并不这么简单因为IIS有缓存,这个过程中你必须重启 IIS。最后一查才知道该文件是一个标记,它通知ASP.NET运行库该应用程序已经被预编译,所以没有他用第二种方法程序是不能正常显示的。
  • 相关阅读:
    自主学习1
    动手动脑10.28
    《程序员修炼之道》阅读笔记三
    《程序员修炼之道》阅读笔记
    11月20,21,22训练赛
    Rabbits(跳兔子)
    01背包变式(并查集+dp01背包)
    问题 I: 约会序列(两边枚举)
    问题 J: 直角三角形
    Cow Exhibition (01背包的负数处理)
  • 原文地址:https://www.cnblogs.com/LeoWong/p/2003416.html
Copyright © 2011-2022 走看看