日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来

發布時間:2025/1/21 asp.net 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于 abp vNext 和 .NET Core 開發博客項目 - 給項目瘦身,讓它跑起來
轉載于:https://github.com/Meowv/Blog.git

本篇文章將給項目進行瘦身,刪掉對我們來說暫時用不到的組件。講解各個模塊之間的關系,寫一個Hello World,讓其成功運行起來。

給項目瘦身

.HttpApi.Hosting

Meowv.Blog.HttpApi.Hosting相當于一個web項目,但這里主要依賴于Meowv.Blog.HttpApi模塊,用來暴露我們的API的。

刪掉Meowv.Blog.HttpApi.Hosting項目中abp自己生成的文件和文件夾,只留下Program.cs和Startup.cs兩個類。

在abp中,每個模塊都應該定義一個模塊類,派生自AbpModule,那么就添加一個模塊類MeowvBlogHttpApiHostingModule.cs

AbpModule類中可以做 配置服務前和后的操作,應用程序初始化,應用程序初始化前和后,應用程序關閉和模塊依賴等一系列操作,詳看,https://docs.abp.io/en/abp/latest/Module-Development-Basics

為了方便,在這里直接集成Autofac,來替換官方依賴注入,詳看,https://docs.abp.io/zh-Hans/abp/latest/Autofac-Integration

于是我們的模塊類就變成下面這個樣子。

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Autofac;
using Volo.Abp.Modularity;

namespace Meowv.Blog.HttpApi.Hosting
{
[DependsOn(
typeof(AbpAspNetCoreMvcModule),
typeof(AbpAutofacModule)
)]
public class MeowvBlogHttpApiHostingModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
base.ConfigureServices(context);
}

public override void OnApplicationInitialization(ApplicationInitializationContext context){var app = context.GetApplicationBuilder();var env = context.GetEnvironment();// 環境變量,開發環境if (env.IsDevelopment()){// 生成異常頁面app.UseDeveloperExceptionPage();}// 路由app.UseRouting();// 路由映射app.UseEndpoints(endpoints =>{endpoints.MapControllers();});} }

}

然后在Startup.cs使用,services.AddApplication();

繼續修改Program.cs代碼,如下:

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using System.Threading.Tasks;

namespace Meowv.Blog.HttpApi.Hosting
{
public class Program
{
public static async Task Main(string[] args)
{
await Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(builder =>
{
builder.UseIISIntegration()
.UseStartup();
}).UseAutofac().Build().RunAsync();
}
}
}

然后編輯一下項目文件,Meowv.Blog.HttpApi.Hosting.csproj,刪掉無用的配置文件信息和abp默認引用的組件。

netcoreapp3.1 <ProjectReference Include="..\Meowv.Blog.HttpApi\Meowv.Blog.HttpApi.csproj" />

.HttpApi

Meowv.Blog.HttpApi職責主要是編寫Controller,所有的API都寫在這里,同時它要依賴于Meowv.Blog.Application模塊

先刪掉Models文件夾和默認的Controller,修改默認模塊類名稱為:MeowvBlogHttpApiModule,并刪掉無用的依賴項

using Volo.Abp.Identity;
using Volo.Abp.Modularity;

namespace Meowv.Blog.HttpApi
{
[DependsOn(
typeof(AbpIdentityHttpApiModule)
)]
public class MeowvBlogHttpApiModule : AbpModule
{

}

}

編輯項目文件Meowv.Blog.HttpApi.csproj

netcoreapp3.1

.Application

Meowv.Blog.Application為我們的應用服務層,在這里編寫服務的接口以及對應的實現

首先還是模塊類,MeowvBlogApplicationModule,在這里我們應該集成緩存和AutoMapper,這個先留著,先把項目瘦身跑起來后面在說吧。

using Volo.Abp.Identity;
using Volo.Abp.Modularity;

namespace Meowv.Blog.Application
{
[DependsOn(
typeof(AbpIdentityApplicationModule)
)]
public class MeowvBlogApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{

} }

}
新建一個MeowvBlogApplicationServiceBase.cs繼承自ApplicationService,然后就可以先寫一個Hello World的應用服務接口和實現。

//IHelloWorldService.cs
namespace Meowv.Blog.Application.HelloWorld
{
public interface IHelloWorldService
{
string HelloWorld();
}
}

//HelloWorldService.cs
namespace Meowv.Blog.Application.HelloWorld.Impl
{
public class HelloWorldService : ServiceBase, IHelloWorldService
{
public string HelloWorld()
{
return “Hello World”;
}
}
}

這里有兩點需要注意,我們的服務都以Service結尾,每個服務都應該繼承我們編寫的的基類ServiceBase

然后在Meowv.Blog.HttpApi層中添引用:Meowv.Blog.Application,同時添加依賴模塊類,MeowvBlogApplicationModule

//MeowvBlogHttpApiModule.cs
using Meowv.Blog.Application;
using Volo.Abp.Identity;
using Volo.Abp.Modularity;

namespace Meowv.Blog.HttpApi
{
[DependsOn(
typeof(AbpIdentityHttpApiModule),
typeof(MeowvBlogApplicationModule)
)]
public class MeowvBlogHttpApiModule : AbpModule
{

}

}

讓它跑起來

好了,完成以上步驟,基本上差不多了,在Meowv.Blog.HttpApi中新增一個 Controller,HelloWorldController.cs

using Meowv.Blog.Application.HelloWorld;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;

namespace Meowv.Blog.HttpApi.Controllers
{
[ApiController]
[Route("[controller]")]
public class HelloWorldController : AbpController
{
private readonly IHelloWorldService _helloWorldService;

public HelloWorldController(IHelloWorldService helloWorldService){_helloWorldService = helloWorldService;}[HttpGet]public string HelloWorld(){return _helloWorldService.HelloWorld();} }

}

ok,運行一下Meowv.Blog.HttpApi.Hosting試試看,不出意料應該會報錯的,因為我們在啟動層Meowv.Blog.HttpApi.Hosting沒有依賴MeowvBlogHttpApiModule模塊,添加上試試


[DependsOn(
typeof(AbpAspNetCoreMvcModule),
typeof(AbpAutofacModule),
typeof(MeowvBlogHttpApiModule)
)]
public class MeowvBlogHttpApiHostingModule : AbpModule
{

}

搞定,成功出現Hello World,目標圓滿完成。

圖片

放一張此時項目的層級目錄,以供參考

圖片

以上就是本章全部內容,暫時只用到了其中三個項目層便成功運行,由于時間問題,其中還有許多需要完善的地方沒有操作,但后續用到的時候會逐步優化掉。

開源地址:https://github.com/Meowv/Blog/tree/blog_tutorial

總結

以上是生活随笔為你收集整理的基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产www在线| 国产又粗又长又大视频 | 女攻总攻大胸奶汁(高h) | 一个人看的毛片 | 亚洲一级无毛 | 国产小视频在线观看 | 在线免费黄色片 | 国产精品传媒麻豆hd | 国产又黄又粗又猛又爽的视频 | 欧美日韩成人在线播放 | 色婷婷综合成人av | 777片理伦片在线观看 | 亚洲成人婷婷 | 亚洲25p| 特黄一级视频 | 91九色国产视频 | av卡一卡二 | 婷婷国产成人精品视频 | 国产精品99精品无码视 | 高潮毛片又色又爽免费 | 亚洲痴女 | 四虎永久免费地址 | 午夜精品无码一区二区三区 | 宅男噜噜噜66一区二区 | 91国内在线视频 | 91精品国产麻豆国产自产在线 | 亚洲精品在线播放视频 | 色综合久久88色综合天天 | 久久人人爽天天玩人人妻精品 | 九色丨蝌蚪丨成人 | 国产91边播边对白在线 | 7777精品久久久久久 | 艳妇av | 午夜亚洲福利在线老司机 | 在线伊人 | 五月天色婷婷丁香 | 日av一区 | 四色成人 | 少妇熟女一区二区 | 中国性xxx| 黄色一节片 | 狂野欧美性猛交xxⅹ李丽珍 | 久久久久久99 | 国产黄色片网站 | 欧美黑人又粗又大的性格特点 | 无码视频一区二区三区 | 久艹在线视频 | 欧美视频一区二区三区四区在线观看 | 天堂资源最新在线 | 精品国产乱码久久久久久影片 | 性爽爽 | 亚洲图片自拍偷拍区 | 亚洲在线日韩 | av在线不卡观看 | 国产在线视频自拍 | 五月天激情影院 | 成人av无码一区二区三区 | 操综合| 高h乱l高辣h文短篇h | 国产人人爽 | 欧美福利一区二区三区 | v片在线观看 | 筱田优av | 日韩国产精品一区二区三区 | 成人一级毛片 | 九九在线观看高清免费 | 色一色成人网 | 日本成人片在线 | 亚洲AV午夜成人片 | 欧美高清在线 | 国产一区不卡在线 | 亚洲图片 欧美 | 免费成人美女在线观看. | 国产午夜精品福利视频 | 亚洲乱色熟女一区二区 | 男生和女生一起差差差很痛的视频 | 亚洲色偷偷色噜噜狠狠99网 | 拍摄av现场失控高潮数次 | www在线免费观看 | 天天综合网站 | 理论片高清免费理伦片 | 国产高清无密码一区二区三区 | 美女色呦呦 | 永久免费在线视频 | 91精品国产aⅴ一区二区 | 激情五月婷婷小说 | 综合国产精品 | 色综合久久久久无码专区 | 四虎av网站 | 黄色欧美在线 | 国产va在线观看 | 蜜臀av一区二区三区激情综合 | www.天天干 | 91视频网址 | 久久人| 午夜寂寞福利 | 熟妇无码乱子成人精品 | 永久免费在线 | 亚洲日日干 |