• 第二十一回  基础才是重中之重~网站bin目录下的程序集自动加载


    网站bin目录下的程序集一般由系统项目,项目引用的外部DLL及外挂DLL组成,它们在网站运行时会自动加载,这一点很重要,项目本身DLL及项目引入的DLL会自动加载,这没有问题,而外挂在bin目录的DLL也会自动加载,这很重要,因为,它可以使我们的应用程序更加灵活,在开发通用功能上,也显得扩展性更强!

    一个例子,比如一个HttpModule,它是一个通用的功能,向页面添加一些缓存过期的共用信息,这对于你所有网站都是共用的,这时,可以建立一个HttpModule项目,它代码可能是这样

    复制代码
    namespace TestHttpModule
    {
        public class SEOModule : IHttpModule
        {
            #region IHttpModule 成员
    
            public void Dispose()
            {
                throw new NotImplementedException();
            }
    
            public void Init(HttpApplication context)
            {
                context.BeginRequest += new EventHandler(context_BeginRequest);
            }
    
            void context_BeginRequest(object sender, EventArgs e)
            {
                var application = (HttpApplication)sender;
                application.Context.Response.Expires = 0;
                application.Context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
                application.Context.Response.AddHeader("pragma", "no-cache");
                application.Context.Response.AddHeader("cache-control", "private");
            }
            #endregion
        }
    }
    复制代码

    而对于目录网站来说,只需要在web.config中配置一下这个module就可以了

      </pages>
        <httpModules>
          <add name="SEOModule" type="TestHttpModule.SEOModule"/>
        </httpModules>
      </system.web>

    而将这个module.dll直接复制到目标网站的bin目录下,网站运行就即可自动加载了。

    事实上,我们通过.net应用程序的这个项目,可以开发很多通用的模块,并很好的与具体项目结合,实现具体项目的“功能性热插拔”!

  • 相关阅读:
    [转]快速矩阵快速幂
    继续学习C:数字进制表示
    pthread_cond_wait()用法分析
    [原]NYOJ-光棍的yy-655
    [原]NYOJ-组合数-32
    [转]_int64、long long 的区别
    [原]NYOJ-6174问题-57
    [转]sscanf函数具体用法
    [原]NYOJ-A*B Problem II-623
    集存款(复利单利)贷款为一体的计算器(最新版)
  • 原文地址:https://www.cnblogs.com/ywsoftware/p/3068488.html
Copyright © 2020-2023  润新知