將主版頁面或ASPX等其他資源編譯到DLL,在多個ASP.NET工程中共用

來源:互聯網
上載者:User

這篇文章的標題實在不好取,因為需求比較複雜:希望將主版頁面或ASPX等其他資源編譯到一個動態連結程式庫中,然後在Web Application中添加這個動態連結程式庫的引用,就能使用該Dll內部的aspx頁面或主版頁面。

以模板頁為例,實現的方法如下:

1. 將主版頁面檔案作為資源編譯進動態連結程式庫中。

方法是:檔案右鍵 - 屬性 - Build Action - Embedded Resource

2. 實現自訂的VirtualPathProvider,從動態連結程式庫的中載入主版頁面

3. 在global.asax中註冊自訂的VirtualPathProvider

我在部落格園搜了一下VirtualPathProvider,曾經有人寫過這方面的東西了,我就不重複了,最後我會連結一個程式碼範例工程並給出一些資料連結。

總之,基本原理是:註冊自訂的VirtualPathProvider後,asp.net網站每當訪問一個虛擬路徑的資源時,都會經過我的VirtualPathProvider,由我去載入其中的檔案內容,因此,即使這個檔案物理上並不存在,我也可以從資料庫中載入,或者像本文的從DLL的資源中載入。

參考文章:

Virtualizing Access to Content: Serving Your Web Site from a ZIP File 

Sharing Master Pages amongst Applications by Embedding it in a Dll 

程式碼範例:

http://blogs.msdn.com/shahpiyush/attachment/1847195.ashx 

在部落格園上曾經有人討論過的 VirtualPathProvider:

http://www.cnblogs.com/firstyi/archive/2008/04/19/1161431.html 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.