`

PrecompiledApp.config文件和Global.asax 文件中的事件的关联

阅读更多

在用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运行库该应用程序已经被预编译,所以没有他用第二种方法程序是不能正常显示的。 
     

分享到:
评论

相关推荐

    PageAdmin4.0.21版本

    例如,Global.asax文件用于全局应用程序事件处理;web.config文件作为配置文件,管理着网站的配置信息;PrecompiledApp.config用于预编译应用程序的设置;Views文件夹存放着视图文件,负责显示用户界面;AppData...

    学校网站模版-PageAdmin cms

    例如,Global.asax文件通常用于处理应用程序级别的事件,web.config是ASP.NET项目的配置文件,它存储了有关网站的配置信息。而PrecompiledApp.config可能用于配置已预编译的应用程序,404.html是网站错误页面的标准...

    PageAdmin学校网站管理系统 v4.0.18 [江西新余电信].zip

    1. **Global.asax**:这是一个全局应用程序文件,用于定义ASP.NET应用程序的事件处理程序。例如,它处理应用程序启动、结束、会话开始和结束等生命周期事件。开发者可以在这里编写代码以实现自定义逻辑,如注册路由...

    asp MVC留言板

    1. **Global.asax**:全局应用程序文件,用于定义应用程序的生命周期事件,如启动、结束等。在这里,可能会有路由配置,定义了URL到控制器和操作的映射。 2. **LMListForPublic.aspx**:这是一个公共访问的页面,很...

    CompanyDemo.rar

    1. **Global.asax**:这是一个ASP.NET应用程序的全局应用事件文件,它处理应用程序级的事件,如启动、结束、会话开始和结束等,可以进行全局范围的设置和初始化。 2. **web.config**:这是ASP.NET应用程序的配置...

    企业官网demo.rar

    1. **Global.asax**:这是ASP.NET应用程序的全局应用事件处理程序,可以在此定义应用程序级别的事件,比如应用程序启动、结束、请求开始等,是整个网站生命周期管理的重要文件。 2. **web.config**:这是ASP.NET...

Global site tag (gtag.js) - Google Analytics