elasticsearch入門系列">elasticsearch入門系列
804
2022-05-29
前言
虛擬文件系統可以管理文件系統(磁盤)上實際不存在的文件。 它主要用于將(js,css,image,cshtml …)文件嵌入到程序集中,并在運行時將它們用作物理文件。
一、集成虛擬文件系統
1、先在EBusiness.Application項目中通過Nuget下載
Volo.Abp.VirtualFileSystem
2、然后在EBusinessApplicationModule文件上增加(默認不需要加載,因為其他模塊已經集成)
[DependsOn(typeof(AbpVirtualFileSystemModule))] public class EBusinessApplicationModule: AbpModule {}
3、然后在EBusiness.Application項目中EBusinessApplicationModule類中添加
// 虛擬文件系統 public class EBusinessApplicationModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { .... Configure
4、最后使用EBusiness.Application項目中WxPayAppService類中使用IVirtualFileProvider接口獲取指定文件
public class WxPayAppService : EBusinessAppService, IPayAppService { .... public IVirtualFileProvider _virtualFileProvider { set; get; } .... public string CreatePay(string productName, string orderSn, string totalPrice) { ..... var file = _virtualFileProvider.GetFileInfo("/Pays/certs/apiclient_cert.p12"); NativePay nativePay = new NativePay(); nativePay.description = productName; nativePay.out_trade_no = orderSn; nativePay.amount.total = int.Parse(float.Parse(totalPrice) * 100 + ""); // 2、支付對象轉換成json string nativePayJson = JsonConvert.SerializeObject(nativePay); // 3、創建支付 string result = _wxPayHttpClient. WeChatPostAsync(nativeUrl, nativePayJson, file.PhysicalPath, mchid, certSerialNo).Result; return result; } }
5、AddEmbedded 配置參賽
AddEmbedded 擴展方法需要一個類, 從給定類的程序集中查找所有嵌入文件, 并將它們注冊到虛擬文件系統. 通常將模塊類作為通用參數傳遞.
AddEmbedded 有兩個可選參數;
baseNamespace: 僅在你沒有配置上面說明的GenerateEmbeddedFilesManifest并且你的根名稱空間不為空時,才可能需要這樣做. 在這種情況下,請在此處設置你的根名稱空間.
baseFolder:如果你不想公開項目中的所有嵌入式文件,只希望公開特定的文件夾(和子文件夾/文件),可以相對于項目根頁面設置基本文件夾.
Configure
這個例子假設;
你的項目根(default)命令空間是 Acme.BookStore.
你的項目有一個名為 MyFiles 的目錄.
你只想添加 MyFiles 目錄到虛擬文件系統.
二、WEB項目使用虛擬文件系統
1、先在EBusiness.Web項目中通過Nuget下載
Volo.Abp.VirtualFileSystem
2、然后在EBusinessWebnModule文件上增加(默認不需要加載,因為其他模塊已經集成)
[DependsOn(typeof(AbpVirtualFileSystemModule))] public class EBusinessWebModule: AbpModule {}
3、然后在EBusiness.Web項目中EBusinessWebModule類中添加
// 虛擬文件系統 public class EBusinessWebModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { .... Configure
三、虛擬文件替換功能
1、EBusiness.Web項目中EBusinessWebModule類中添加
// 虛擬文件系統 public class EBusinessWebModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { .... Configure
.NET 虛擬化
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。