Rolinson's Blog

ASP.NET , J2ME , WAP
(还有收藏网络上的技术文章,以便一急之用)

博客园 首页 新随笔 联系 订阅 管理

一、修改应用系统默认 bin 程序集文件夹(名称和位置): 
在 web.config 文件里添加以下内容,probing 元素路径就是要修改的地方啦!
<configuration>
        <runtime>
       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="bin;application\bin\subbin;bin3" />
    </assemblyBinding> 
         </runtime>

</configuration>

二、无ASPX文件的部署:
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剩余的不需要编译的部分。

在 web.config 文件里添加以下内容!
<configuration>
        <system.web>
                <httpHandlers>
                        <add verb="*" path="Login.aspx" type="ASP.Login_aspx, mdw66zmg" />
                </httpHandlers>

         <system.web>
</configuration>

注意事项:
    1 只能指定ASPX文件,其它类型的不支持,或者我目前还未找到相应的解决方案。
    2 如果页面包函其它页面时(如登录页就有个生成验证码的页),这需要到服务器上进行编译(运行页面)获取DLL,
       因为在本地编译时,路径不是服务器,如:http://localhost/BuildCode.aspx,此路径也被编译在DLL里,所以无法运行!

posted on 2005-01-06 16:07  ByNow  阅读(651)  评论(0编辑  收藏  举报