將.aspx檔案和圖片編譯進dll

來源:互聯網
上載者:User
先簡要說一下方法:
一、取得.aspx頁面類的原始碼
在C:WINDOWSMicrosoft.NETFrameworkv1.1.4322Temporary ASP.NET Files目錄下可看到你的網站和虛擬目錄名,點進去就能找到你的頁面類,但注意這個頁面類的名字跟你原來的名字沒多大聯絡,你也可以通過陷阱直接在錯誤頁中找到:
源檔案: c:WINDOWSMicrosoft.NETFrameworkv1.1.4322Temporary ASP.NET Filesoot6e5a7fb154c3fdebehrvxfn5.0.cs    行: 90
(在aspx頁面任意位置添加即可設定陷阱,取得編譯源檔案)
二、編譯
通過上面得到源檔案,注釋掉依賴項:如
//dependencies.Add("W:wwwrootdlltestex2.aspx");
然後編譯
方法一
開啟VS,建立一個WEB項目,將這些頁面類包含進來並注釋掉頁面依賴項,將圖片的編譯類型設定為嵌入即可。
方法二
沒有VS的可以用csc/vbc編譯器完成編譯,關於如何用編譯器編譯項目可以參照:http://www.bestaspx.net/Articles/Show.aspx?ArticleID=21
當然圖片也是可以打包進去的,這樣所有的東東都打進dll了
下面要簡單說一下如何在命令列將圖片編進dll
用sdk 中內建的C:Program FilesMicrosoft Visual Studio .NETFrameworkSDKSamplesTutorialsesourcesandlocalizationesxgen
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檔案名稱查看效果。
因為是很久以前的實驗了,現在是憑記憶寫的,所以比較亂,如果有問題可以聯絡我。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.