中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
将.aspx文件和图片编译进dll
作者:未知 时间:2005-07-27 21:43 出处:CSDN 责编:chinaitpower
              摘要:将.aspx文件和图片编译进dll

以前曾在CSDN论坛看到有人问如何将.aspx页面也编译进dll,当时做了解答。后来觉得也许还会有人要用,所以最近就把文章整理一下。

大家可以去看看做好的dll
http://www.bestaspx.net/down/allindll.zip

先简要说一下方法:

一、取得.aspx页面类的源代码

在C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目录下可看到你的站点和虚拟目录名,点进去就能找到你的页面类,但注意这个页面类的名字跟你原来的名字没多大联系,你也可以通过陷阱直接在错误页中找到:

源文件: c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\6e5a7fb1\54c3fdeb\ehrvxfn5.0.cs    行: 90

(在aspx页面任意位置添加即可设置陷阱,取得编译源文件)

二、编译

通过上面得到源文件,注释掉依赖项:如
//dependencies.Add("W:\\wwwroot\\dlltest\\ex2.aspx");
然后编译

方法一

打开VS,新建一个WEB项目,将这些页面类包含进来并注释掉页面依赖项,将图片的编译类型设置为嵌入即可。

方法二

没有VS的可以用csc/vbc编译器完成编译,关于如何用编译器编译项目可以参照:http://www.bestaspx.net/Articles/Show.aspx?ArticleID=21

当然图片也是可以打包进去的,这样所有的东东都打进dll了
下面要简单说一下如何在命令行将图片编进dll

用sdk 中自带的C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\resxgen
resxgen.exe /i:logo.gif /o:test_res.resx /n:logo
得到资源文件test_res.resx,就可以在命令行引用资源编译了。
不能得到resxgen的可以到这里下载:http://www.bestaspx.net/down/ResXGen.zip
源码:http://www.bestaspx.net/down/ResXGen_Src.zip

那么项目中如何使用资源文件呢,诸位请看:
Assembly myAssem = Assembly.GetExecutingAssembly();
ResourceManager rm = new ResourceManager( "名字空间.test_res", myAssem );
System.Drawing.Image objGraphics = ( System.Drawing.Image )rm.GetObject("logo");
objGraphics.Save( Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif );
objGraphics.Dispose();

三、建立aspx到dll的映射

在Asp.Net应用程序配置文件web.config的system.web节的httpHandlers节添加aspx到dll的映射项,语法如下:

<add verb="*" path="aspx文件名" type="类名,dll文件" />

四、测试

通过以上3步,就已完成了所有的工作,下面就测试一下,打开IE,输入
http://localhost/虚拟目录名/aspx文件名查看效果。

因为是很久以前的试验了,现在是凭记忆写的,所以比较乱,如果有问题可以联系我。


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有