程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> <<ABP文檔>> 嵌入的資源文件,abp資源文件

<<ABP文檔>> 嵌入的資源文件,abp資源文件

編輯:關於.NET

<<ABP文檔>> 嵌入的資源文件,abp資源文件


文檔目錄

 

本節內容:

  • 簡介
  • 創建嵌入的文件
  • 暴露嵌入的文件
  • 使用嵌入的文件

 

簡介

一個web應用裡,客戶端包含javascript,css,xml等文件,這此文件被添加到一個web項目後,發布成獨立的文件,有時,我們需要把一些這樣的文件打包入一個程序集(一個類庫項目,一個Dll文件),並且作為嵌入式資源文件部署在這個程序集裡,ABP提供了一個基礎架構,方便地處理這件事。

 

創建嵌入的文件

我們首先要創建一個資源文件並把它標記為嵌入式資源,任何程序集都可以包含嵌入式資源文件,假設我們有一個名為“Abp.Zero.Web.UI.Metronic.dll”的程序集,它包含javascript,css和圖片文件:

我們想要在一個web應用裡使用這些文件,首先,我們應該把想要暴露的文件的Build Action(生成操作)修改為Embedded Resource(嵌入的資源),我選擇metronic.js文件,轉到屬性窗口(快捷鍵為F4)並修改它。

你應該在一個Web應用裡,把所有你想要使用的文件的生成操作修改為嵌入的資源。

 

暴露嵌入的文件

ABP可以很容易地暴露嵌入的資源文件,只一行代碼:

WebResourceHelper.ExposeEmbeddedResources("AbpZero/Metronic", Assembly.GetExecutingAssembly(), "Abp.Zero.Web.UI.Metronic");

這段代碼通常放在模塊的Initial方法裡,讓我們解釋一下它的參數:

  • 第一個參數定義文件的根目錄,它與根命名空間匹配。
  • 第二個參數定義程序集包含的文件,在這個例子裡,我傳遞了包含這段代碼的程序集,但是你可以傳遞任何包含嵌入式資源的程序集。
  • 最後一個參數定義了在這個程序集裡這些文件的根命名空間,它是“默認命名空間”+“在這個程序集裡的目錄”,默認命名空間通常與程序集名相同,但可以在程序集的屬性裡修改,這裡,默認的命名空間是Abp(我修改了它),所以Metronic目錄的命名空間是“Abp.Zero.Web.UI.Metronic"。

 

使用嵌入的文件

可以直接使用嵌入的文件:

<script type="text/javascript" src="~/AbpZero/Metronic/assets/global/scripts/metronic.js"></script>

ABP可以理解這是一個嵌入的文件並獲取所有之前Dll暴露的文件,雖然它可以簡單地工作,你可以在一個Razor視圖裡使用ABP的HtmlHelper擴展方法IncludeScript:

@Html.IncludeScript("~/AbpZero/Metronic/assets/global/scripts/metronic.js")

這將生成如下所示的腳本標簽:

<script src="/AbpZero/Metronic/assets/global/scripts/metronic.js?v=635438748506909100" type="text/javascript"></script>

唯一不同的是v=635438748506909100參數,這將阻止浏覽器的腳本的默認緩存,這個值僅當你的Dll重新生成(實質上,就是文件的最後修改時間)時發生改變,如果發生了改變,浏覽器就不再緩存舊的,所以建議使用IncludeScript方式,同時它也可以用於非嵌入的物理文件,同樣也有一個用於css文件的IncludeStyle方法。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved