2008年4月-5月

1、几款ASP.NET在线文本编辑器
2、c# 屏幕取词的方法(转)
3、推荐几款皮肤界面工具
4、http://www.cnblogs.com/yahle/category/122544.html WebGame开发
5、http://www.neopets.com/activate.phtml pets_cc_aa17cc
6、Once upon a time(一个web游戏的实现方法+源代码)
7、ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景
8、css+div 布局(1)- css+div实现table布局
9、http://www.cnblogs.com/waitrabbit/archive/2006/06/09/421326.html 利用WebBrowser彻底解决Web打印问题
10、4月11日链接篇: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, Silverlight
11、http://weblogs.asp.net/scottgu/archive/2008/04.aspx Scottgu的blog
12、http://blogs.msdn.com/florinlazar/archive/2005/09/29/475546.aspx 关于事务,Fast transactions with System.Transactions and Microsoft SQL Server 2000
13、http://www.cnblogs.com/wjj/archive/2006/11/22/568196.html 在VS2005下为ASP.NET 2.0网站生成唯一程序集
14、http://www.infoq.com/cn/articles/patrick-smacchia-interview 与Patrick Smacchia谈.NET的代码分析——NDepend工具介绍
15、 http://www.microsoft.com/china/msdn/library/webservices/asp.net/0410viewstate.mspx?mfr=true ViewState
16、
VS2005 Publish web site  

选择 Publish web site后,选择发布地址,可以使ftphttp,或file path

下面的三个选项如下:

1.       Allow this precompiled site to be updatable: 该选项允许*.aspx文件不编译到汇报集里,也就是选中该选项后,你可以改变页面的标记。这个类似于2003,但是有个地方发生了改变。

2.       Use fixed naming and single page assemblies:该选项运行你预编译特定的文件名称的代码。

3.       Enable strong naming on precompiled assemblies:该选项要求生成强命名的程序集。 

Test 1: 都不选

结果:

l         文件夹的结构没有变化,

l         没有.cs文件,.aspx文件都被加密,无法更改和察看。

l         资源文件jsimages都没有变化,web.config没有变化

l         bin目录下生成了一些dll和带后缀为.compiled的文件,除了引用的dll外,项目本身是根据文件夹(这个文件夹里必需有非资源文件)的数量生成相同数量的dllapp_code是主dll,其他以App_Web开头后面的字母属于随机生成。而且每次生成的不一样。每个.compiled对应一个aspx文件。

l         总结:aspx文件无法更改,有多少文件夹基本上就会有多少dll

Test2:选1- Allow this precompiled site to be updatable

l         文件夹的结构没有变化,

l         没有.cs文件,.aspx文件没有变化。

l         资源文件jsimages都没有变化,web.config没有变化

l         bin目录下生成了一些dl文件,除了引用的dll外,项目本身是根据文件夹(这个文件夹里必需有非资源文件)的数量生成相同数量的dllapp_code是主dll,其他以App_Web开头后面的字母属于随机生成。

l         该项除了bin目录生成的文件有点特别外,基本上和vs2003没有区别

l         总结:aspx文件可以更改,有多少文件夹基本上就会有多少dll

上面提到.aspx文件有个地方发生了改变,

此时如果你打开.aspx文件,

<%@ page language="C#" autoeventwireup="true" inherits="MyPage, App_Web_jmvb-kmt" %>

    会发现Page指令中<%@ page language="C#" autoeventwireup="true" inherits="MyPage, App_Web_jmvb-kmt" %>并不包含CodeFile,所以这种编译方式和ASP.NET1.1兼容。

    Page指令的inherits指出了MyPage.aspx的类集为MyPage和汇编集App_Web_jmvb-kmt。换句话说,当系统加载Page也没时,将会到bin文件夹下的App_Web_jmvb-kmt.dll加载MyPage类作为MyPage.aspx后台文件的页面类。

Test3:选2- Use fixed naming and single page assemblies

l         文件夹的结构没有变化,

l         没有.cs文件,.aspx文件都被加密,无法更改和察看。

l         资源文件jsimages都没有变化,web.config没有变化

l         bin目录下生成了一些dll和带后缀为.compiled的文件,除了引用的dll外, app_code是主dll。其他的dll都是一对一的对应一个aspx文件。每个.compiled对应一个aspx文件。每次生成的是一样的后缀。

l         总结:aspx文件无法更改,有多少文件,而不是文件夹,基本上就会有多少dll

Test4:选3- Enable strong naming on precompiled assemblies

这个选项选中后,还有几个附带选项,复选框可以用来实现"延迟签名(delay signing). 有两种使用强命名方式,一为通过利用key文件;二为使用Key Container,这种方式允许你使用RSA Key Containers.可以进行选择.

这种发布结果表面上和Test1是一样的,只是.dll有了强命名。

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

终结:

1.       第三个选项选不选对程序运行没有什么太大影响(我只做了简单测试),只是生成的程序集是否有强命名,就算更新的时候与更新之前一个有一个没有强命名也没有关系。

2.       如果你想在下次更新的时候,只更新修改过的dll和文件,就需要选择2,如果你没有选2,那么恭喜你,下次更新的时候需要全部更新

3.       如果你想获得安全性最好的,就不要选择1,相反,如果你想更改.aspx,那就要选择1

选择12后,修改aspx页面,没有问题

重新发布选择12 ,替换更换了的dll,更新成功

重新发布选择12 3,替换更换了的dll,更新成功,这说明强命名没有影响

选择2生成,只要替换相应的dll就可以了,这样的话,那其他文件干什么用的呢,占位马,特别是那个. Compiled文件


17、Web站点风格切换的实现 http://www.tracefact.net/Asp-Net/An-implementation-of-website-style-switching.aspx
posted @ 2008-04-09 09:30  Kevin Lin  阅读(874)  评论(33编辑  收藏  举报