ASP.NET 做Self-update其实是非常容易的,只要更新web.config 或者 bin 文件夹即可;有些人可能担心更新时导致重编译的问题,其实是完全不用担心的,因为.NET Framework的AppDomain实现了当前访问用户线程所在应用在服务器上的相对独立性,所以在应用重新编译之前,当前用户出发的Request仍然会被顺利执行完毕。
但是ASP.NET的更新由于是默认放在bin文件夹的,所以如果网站、网络应用程序要实现自动更新,就需要给bin文件夹可写权限,这就会导致一定的安全隐患。 在国外,一般这种设计理念是由违背信息使用的理念的;也就是说你的Self-Update原则上讲不应该侵犯使用者正在使用的文件、信息(很显然替换bin文件夹内的文件很容易导致系统崩溃、原数据丢失等等问题),因此是非常不推荐的。 当然,如果你的程序必须使用这个自动更新的程序,那只要你给最终使用者提前说明了权责问题,把更新和更新后的责任都归有使用者自己负责的话,那还是勉强能够接受的。 (Wordpress其实也是这样子去做的自动更新,只不过它是php罢了)
今天还具体尝试了一下是否能实现,需要的可以从附件里面下载。 下载地址: http://download.csdn.net/detail/mleader1/4194435