控制bin文件夹里面的dll不复制到临时目录中( <hostingEnvironment shadowCopyBinAssemblies="false" />)

One of the things that makes developing ASP.NET applications very cool is that you can rapidly prototype, tweak, and update your application, without having to stop and restart the web server. This includes assemblies (DLLs) used by your application for things like business logic and/or data access. You can simply drag and drop a new copy of a DLL into the \bin directory, and ASP.NET will automatically start using the new DLL with the next request.

The way that this works is that ASP.NET makes a shadow copy of the contents of the \bin directory, and loads the DLLs from the copy. ASP.NET monitors the \bin directory for changes, and repeats the shadow copy when the contents change.

While this is very convenient, it does take time, and if you have a large number of DLLs, or very large DLLs, the shadow copy process can potentially impact application startup and restart performance. This is also true if you have non-dll content in the \bin directory (a good reason never to store anything but DLLs in \bin).

So in some situations, you might want to turn off the shadow copy process. To do this, add the following to your ASP.NET 2.0 web.config file:

<hostingEnvironment shadowCopyBinAssemblies="false" />

While this will reduce performance overhead associated with shadow copying the contents of the \bin directory, do keep in mind that using this configuration option will result in the DLLs being locked when the app is running. So if you need to update a DLL, you will need to take the application offline or stop the process before you can do so.

使开发ASP.NET应用程序非常酷的一件事是,您可以快速原型,调整和更新应用程序,而无需停止并重新启动Web服务器。这包括您的应用程序用于业务逻辑和/或数据访问等的程序集(DLL)。您可以简单地将一个DLL的新副本拖放到\ bin目录中,ASP.NET将在下一个请求时自动开始使用新的DLL。

这样做的方式是ASP.NET为\ bin目录的内容制作影子副本,并从副本加载DLL。 ASP.NET监视\ bin目录中的更改,并在内容更改时重复卷影副本。

虽然这非常方便,但确实需要时间,并且如果您有大量DLL或非常大的DLL,则影子复制进程可能会影响应用程序启动和重新启动性能。如果您的\ bin目录中有非dll内容(这是一个很好的理由,除了dll之外,\ bin不要存储非dll任何内容)。

所以在某些情况下,您可能需要关闭卷影复制过程。为此,请将以下内容添加到ASP.NET 2.0 web.config文件中:

<hostingEnvironment shadowCopyBinAsmblies =“false”/>

虽然这会减少与拷贝\ bin目录的内容相关的性能开销,但请记住,使用此配置选项将导致应用程序运行时DLL被锁定。因此,如果您需要更新DLL,则需要将应用程序脱机或停止该过程,然后才能这样做。

原文地址:https://www.cnblogs.com/lip-blog/p/8663075.html

时间: 2024-11-06 09:49:22

控制bin文件夹里面的dll不复制到临时目录中( <hostingEnvironment shadowCopyBinAssemblies="false" />)的相关文章

删除文件夹里的 .svn,

删除文件夹里的 .svn,cmd  进入相应目录  运行    for /r ./ %a in (./) do @if exist "%a/.svn" rd /s /q "%a/.svn"

diff两个文件夹里的东西

diff --help -x, --exclude=PAT               exclude files that match PAT 排除某个类型的文件 -u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context 输入行好 -N, --new-file                  treat absent files as empty 如果某个文件只在一个地方有,就把这个文件当作不存

oracle 数据恢复,只有oradata文件夹里的文件,没有备份文件的数据库恢复,重装系统后,oracle 10g数据库恢复

格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2.0\oradata\gqxt),重新命名即可,我命名为gqxt_old,(否则装数据库的时候会提示sid已存在). 2,重新安装数据库到原来的路径(不安装到原来的路径也没关系,但是原来的数据库文件必须在原来的路径不能变,也就是oradata\gqxt所在的路径不能变),数据库的名字就是你要恢复的名字

su认证失败&amp;文件夹里打开终端的方法&amp;atom安装

很久没用笔记本上的ubuntu,用不顺手,比在公司调教了半年多的电脑差远了.一步一步来.先解决最不顺手的三件事 1.su认证失败. 新安装的ubuntu系统是无法切换到root账户的,得做一番修改 sudo passwd 密码: 输入新的UNIX密码: 确认密码: 这样就可以了 2.文件夹里打开终端 sudo apt-get install nautilus-open-terminal 然后nautilus -q重新加载文件管理器,或注销登陆即可生效. 3.安装atom编辑器 sudo add-

SQL扫描并执行文件夹里的sql脚本

原文:SQL扫描并执行文件夹里的sql脚本 场景:项目数据库操作全部使用存储过程实现.每天都会有很多存储过程更新/增加,人工对测试环境中存储过程更新,会有一定概率出现遗漏,也麻烦!所以,需要一个工具将文件夹中所有存         储过程执行一次.实现:首先想到的是用c#,很简单,而且功能强大.        但是,我想尝试一下使用sql实现同样的功能,然后就发现了xp_cmdshell这个强大而又危险的东西!查询分析器执行,无需传入数据库用户名.密码,传入目录,就会按照脚本文件名排      

Eclipse点击工程结构里任意文件或文件夹变拖动(或复制)的bug

本文为原创文章,欢迎转载,但请注明出处http://www.cnblogs.com/yexiubiao/p/5204601.html,未在文章页面明显位置给出原文连接的,将保留追究法律责任的权利. 在使用Eclipse做Android开发编辑布局文件时,会遇到当点击左侧工程结构里的文件或文件夹时(例如点击红框1处文件),系统自动弹出对话框,让你重命名改文件(红框2),让人特别难受. 这是Eclipse或ADT的一个bug,Eclipse把我们的点击操作理解成拖动操作了(结果表现为文件被复制或移动

将Temporary文件夹里的Logo文件转移到Logo文件夹

/// <summary> /// 将Temporary文件夹里的Logo文件转移到Logo文件夹 /// </summary> /// <param name="new_resume"></param> /// <returns></returns> private bool RemoveToLogo(Resume new_resume) { string destinationPath = new_resume

jq和js插件的各个文件夹里放置的内容

1. demo文件夹,存放各种实例. 2. dist文件夹,全称是distribution.在某些框架中,因为开发和发布的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放最终发布版本的代码,这就是dist文件夹的用处.dist文件夹里的localization文件夹是本地化/局部化文件夹,是提供语言更换的.一般中文是zh.js. 3. lib文件夹是静态数据连接库,一般放引入文件,这个目录里存放着系统最基本的动态链接共享库,几乎所有的应用程序都须要用到这些共享库.个

一个文件夹里放多少个文件合适?

FAT16文件系统  可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte):  卷的最大体积是4GB:每个卷上最多可以保存的文件数量是65,536个 (2^16):  根目录下可以保存的文件和文件夹数量最大值是512个(如果使用了长文件名,该数字还会减小) FAT32文件系统  可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1byte):  Windows自带的工具可以创建的卷的最大体积是32GB:  每个卷中最