博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AppDomain 及BuildManager
阅读量:6344 次
发布时间:2019-06-22

本文共 1588 字,大约阅读时间需要 5 分钟。

一、AppDomain.CurrentDomain.DynamicDirectory 只有在Web项目中在值,动态执行目录像下面这样

Framework\v4.0.30319\Temporary ASP.NET Files\root\f2c8fa4c\96cc5c53

而在Web下面AppDomain.CurrentDomain.SetupInformation 里面包裹了大量有用的信息

以下是winform的 AppDomain.CurrentDomain.SetupInformation的信息

可见SetupInformation信息更多是为web而用。(今天改一下,如果要romting 跨域操作,这部分很重要,需要自己编写代码)

setup.ShadowCopyFiles = "true";这句很重要,其作用就是启用影像复制程序集,什么是影像复制程序集,复制程序集是保证"热插拔"

实现的主要工作.AppDomain加载程序集的时候,如果没有ShadowCopyFiles,那就直接加载程序集,结果就是程序集被锁定,相反,如果启用了ShadowCopyFiles,则CLR会将准备加载的程序集拷贝一份至CachePath,再加载CachePath的这一份程序集,这样原程序集也就不会被锁定了.()

而winform 这项是false

无论web还是winform 这二个路径是一样的

AppDomain.CurrentDomain.SetupInformation.ApplicationBase== AppDomain.CurrentDomain.BaseDirectory

而AppDomain.CurrentDomain.DynamicDirectory 在winform 为null 

AppDomain.CurrentDomain.BaseDirectory 在web中返回是当前的物理理路径

二、BuildManager.AddReferencedAssembly 是ASP.NET 4下的 而且我们必须预加载

我们必须从assembly级别上来使用这个attribute,也就是通常情况下我们会用在AssemblyInfo.cs中:   [assembly: PreApplicationStartMethod(typeof(SomeClassLib.Initializer), "Initialize")] 我们需要指定的是类型和类型里面静态函数的名称,这个静态函数必须是不带参数和返回值的公共函数。    这个功能最重要的地方是在于,它可以做一些我们原来在Application_Start无法完成的事情,所以很多事情在执行到Application_Start时已经完成了,不可改变的,比如下要介绍的关于编译的扩展

BuildProvider.RegisterBuildProvider     原来我们要注册BuildProvider都是通过添加web.config的<buildproviders>来完成。在ASP.NET 4.0当中,我们就可以配合PreApplicationStartMethodAttribute,在站点启动前添加自定义的来BuildProvider达到目的。     BuildManager.AddReferencedAssembly     在做.ASPX/.ASPCX和App_code目录下的代码文件编译时,需要依赖一些程序集。以前,我们都需要将这些程序集配置在web.config的<assemblies>节点下来完成。现在,你就只需要配合以上的attribute和这个新的方法,直接通过代码的形式来增加这些依赖。

转载于:https://www.cnblogs.com/shouhongxiao/p/3512641.html

你可能感兴趣的文章
防火墙(一)主机型防火墙
查看>>
基于哈夫曼编码的压缩算法的实现
查看>>
sed tr
查看>>
FTP文件传输服务器(详解)
查看>>
ERROR OGG-01172 Discard file (/oradata/gglog/repl.dsc) exceeded max bytes (500000000).
查看>>
Activiti 实战篇 小试牛刀
查看>>
java中的Static class
查看>>
Xshell 连接CentOS服务器解密
查看>>
[工具类]视频音频格式转换
查看>>
GNS3与抓包工具Wireshark的关联
查看>>
groovy-语句
查看>>
VIM寄存器使用
查看>>
Java VisualVM远程监控JVM
查看>>
nasm预处理器(2)
查看>>
二叉排序树 算法实验
查看>>
Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件...
查看>>
YourSQLDba 配置——修改备份路径
查看>>
nginx web服务理论与实战
查看>>
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>
网易音乐版轮播-react组件版本
查看>>