您的位置:首页 > 编程语言 > ASP

aspx->cs->dll && 无aspx文件部署

2005-11-18 18:32 399 查看
asp.net项目在部署后,aspx文件并没有被编译,这种情形要一直维持到用户第一次访问页面,该页面文件aspx才会转化成cs,并编译成dll,这次访问速度不会很快,但从此以后,所有访问者将得到理想的访问速度。
那么如何在部署后就让所有的aspx处于已经编译成dll的状态呢?通过上面的描述我们不难想到,只要把所有页面都访问一遍即可,这个访问有一个简单方法,就是递归项目所在的文件夹,把物理路径转化成web访问的http地址,并使用httpRequest访问一遍即可(如果有权限控制,可能要作更多的工作)。
访问后,在/WINNT/Microsoft.NET/Framework/版本号/Temporary ASP.NET Files/项目名称/随机数/随机数
这个目录下会生成对应的文件,其中*.cs是通过aspx生成的类文件(该文件经过处理后,就可以实现无aspx文件的部署),*.dll是通过aspx生成的dll文件,*.res是aspx文件中除去runat=server剩余的不需要编译的部分。
-----------------------------------------------------------------------------------------------------------------------------------------------
通过上篇post大家已经知道了如何获取aspx生成的dll文件,我们只要再作两步工作,就可以实现无aspx部署了:

1、把生成的全部dll文件拷贝到项目的bin目录下;
2、在web.config中加入类似下面的配置节声明
<httpHandlers>
    <add verb="*" path="WebForm1.aspx" type="ASP.WebForm1_aspx, srqmg4mo" />
</httpHandlers>
其中,
srqmg4mo是生成的dll的程序集名称,我们得到的dll文件名和程序集名称相同;
ASP.WebForm1_aspx是命名空间,统一为ASP.aspxFileName_aspx格式;
WebForm1.aspx是我们要处理的aspx文件名

做完这两步之后,就可以把所有的aspx都删掉了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐