预编译ASP.NET网站

1.允许更新此预编辑站点  

2,使用固定命名和单页程序集

3.对预编辑程序集启用强命名

 

为了不让订阅网站的用户在第一次打开页面时感受到明显的延迟,可以使用 "完全预编译(full   pre-compilation) "方式.
如果是想此编译方式具有最大的安全性,应去掉 "允许更新此预编译站点(Allow   this   precompiled   site   to   be   updateable ".   这样代码文件(code,即cs文件)和内容文件(content   file,即aspx)都会预编译.如果要强命名方式,选中 "Ename   strong   naming   on   precompiled   assemblies "(此处Ename是个印刷错误,应该是Enable).这样就可以定位到key文件所在位置.此处有个复选框可以用来实现 "延迟签名(delay   signing).   有两种使用强命名方式,一为通过利用key文件;二为使用Key   Container,这种方式允许你使用RSA   Key   Containers.可以进行选择.
在多数情况下,完全预编译方式正是所需要的方式,但是有时候因为内容文件变化不大,你可能希望在网站发布后,不用每次把所有的代码与内容文件全部编译,也许内容文件就不用再次编译,只需编译代码文件即可,这种情况下,就选中 "允许更新此预编译站点 ",这种方式称为 "只预编译代码文件(pre-compilation   of   code   only) "方式.此方式与 "完全预编译方式 "相比较,只有一点区别,即内容文件仍是原始版本,而不是存根(stub)版本,其它效果相同.在内容文件发布后也可以对其进行编辑,其变动在以后的请求到来时起作用,对于访问此站的用户来说是透明的.


附:
强命名(strong   names)   如果一个assembly需要共享,则其必须使用强命名.一个强命名唯一标识了一个assembly.有四部分组成:1,assembly名称(不包含文件扩展名);2,版本;   3,culture;     4,密钥对(即一个公钥和一个私钥),保存在key文件中,所以说key文件就是同时包含了公钥和私钥的文件,在使用强命名时当然是需要此key文件的.创建key文件用命令:   sn   -k   KeyPair.snk

延迟签名:显然,每个公司的私钥都必须非常安全地保存,然后这就带来一个进退两难的问题:在开发和测试一个共享的assembly时,需要使用强命名方式,而创建强命名时肯定需要访问私钥的,但是又不能把公司的私钥提供给参与项目开发的且需要创建强命名的所有开发人员,怎么办?   这时就要用 "延迟签名 "技术.此种方式下,在创建强命名assembly时,只需要提供公钥,因为公钥提供给所有的人是允许的,也是安全的,利用公钥,开发人员可以进行程序的开发和测试工作,直到准备进行最终的build时,才同时使用公钥和私钥.   延迟签名需要从key文件中把公钥解出来,形成独立的公钥文件,通过使用命令:   sn   -p   KeyPair.snk   PublicKey.snk即可.这样,publicKey.snk只包含公钥,就可以用了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值