当前位置: 首页 > news >正文

网站推广链接怎么做软件下载网站制作

网站推广链接怎么做,软件下载网站制作,企业获客方式,模板网站怎么用上一篇文章(https://www.cnblogs.com/meowv/p/12896898.html)已经成功将博客项目跑起来了#xff0c;那么本篇主要是将之前遗留的问题解决#xff0c;现在的代码看起来可能还是比较混乱#xff0c;有大量与之无关的代码存在里面#xff0c;对于强迫症患者来说真的是零容忍。… 上一篇文章(https://www.cnblogs.com/meowv/p/12896898.html)已经成功将博客项目跑起来了那么本篇主要是将之前遗留的问题解决现在的代码看起来可能还是比较混乱有大量与之无关的代码存在里面对于强迫症患者来说真的是零容忍。在程序员界总有一批强迫症患者他们希望自己写的代码看起来尽量的完美无瑕疵。完善与美化直奔主题首先将各项目层的项目文件(.csproj)打开格式化一下没有引用Import Project..\..\common.props /这句代码的也加一下这里其实就是将公共属性拿出来没什么特殊的。common.props中的代码也非常简单主要是禁用当开启输出XML的时候没有给代码进行summary注释产生的警告其实这些大可不必为之折腾不影响项目的成功运行。如果您觉得没啥必要完全可以跳过此小节看最后。.Application.Application层现在只引用Volo.Abp.Identity.Application包和依赖.Application.Caching、.Application.Contracts、.Domain.Shared三个项目。//Meowv.Blog.Application.csproj Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupItemGroupPackageReference IncludeVolo.Abp.Identity.Application Version2.7.0 /ProjectReference Include..\Meowv.Blog.Application.Caching\Meowv.Blog.Application.Caching.csproj /ProjectReference Include..\Meowv.Blog.Application.Contracts\Meowv.Blog.Application.Contracts.csproj /ProjectReference Include..\Meowv.Blog.Domain.Shared\Meowv.Blog.Domain.Shared.csproj //ItemGroup/Project .Application.Caching.Application.Caching层看名字就知道我准备用它来处理缓存这里会用到两个包Volo.Abp.Caching、Microsoft.Extensions.Caching.Redis不管三七二十一新建一个模块类MeowvBlogApplicationCachingModule.cs依赖于AbpCachingModule和我们的MeowvBlogDomainModule模块(此时还没添加)using Volo.Abp.Caching; using Volo.Abp.Modularity;namespace Meowv.Blog.Application.Caching {[DependsOn(typeof(AbpCachingModule)// ...)]public class MeowvBlogApplicationCachingModule : AbpModule{public override void ConfigureServices(ServiceConfigurationContext context){base.ConfigureServices(context);}} } //Meowv.Blog.Application.Caching.csproj Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupItemGroupPackageReference IncludeMicrosoft.Extensions.Caching.Redis Version2.2.0 /PackageReference IncludeVolo.Abp.Caching Version2.7.0 /ProjectReference Include..\Meowv.Blog.Application.Contracts\Meowv.Blog.Application.Contracts.csproj /ProjectReference Include..\Meowv.Blog.Domain.Shared\Meowv.Blog.Domain.Shared.csproj /ProjectReference Include..\Meowv.Blog.ToolKits\Meowv.Blog.ToolKits.csproj //ItemGroup/Project .Application.Contracts删掉里面所有文件.Application.Contracts层我不准备按照abp那样来做此层我只想用来放我们的传输对象(DTO)添加项目引用Domain.Shared同时开启输出XML文件到我们.HttpApi.Hosting输出XML很简单在 Visual Studio 中对着项目 右键属性生成输出然后选择XML文档文件默认为一个物理路径我们将其改为相对路径..\Meowv.Blog.HttpApi.Hosting\Meowv.Blog.Application.Contracts.xmlXML输出到.HttpApi.Hosting层。也可以直接修改项目文件实现如下//Meowv.Blog.Application.Contracts.csproj Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupPropertyGroup Condition$(Configuration)|$(Platform)Debug|AnyCPUDocumentationFile..\Meowv.Blog.HttpApi.Hosting\Meowv.Blog.Application.Contracts.xml/DocumentationFile/PropertyGroupItemGroupProjectReference Include..\Meowv.Blog.Domain.Shared\Meowv.Blog.Domain.Shared.csproj //ItemGroup/Project .Domain.Domain层为我们的实体领域模型不需要引用其它层只添加包Volo.Abp.Identity.Domain同时也输出一下XML文件XML文件的作用后续Swagger会用的。//Meowv.Blog.Domain.csproj Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupPropertyGroup Condition$(Configuration)|$(Platform)Debug|AnyCPUDocumentationFile..\Meowv.Blog.HttpApi.Hosting\Meowv.Blog.Domain.xml/DocumentationFile/PropertyGroupItemGroupPackageReference IncludeVolo.Abp.Identity.Domain Version2.7.0 /ProjectReference Include..\Meowv.Blog.Domain.Shared\Meowv.Blog.Domain.Shared.csproj //ItemGroup/Project 删掉此层所有文件不要忘了添加模块类MeowvBlogDomainModule.cs它依赖AbpIdentityDomainModule模块using Volo.Abp.Identity; using Volo.Abp.Modularity;namespace Meowv.Blog.Domain {[DependsOn(typeof(AbpIdentityDomainModule))]public class MeowvBlogDomainModule : AbpModule{} } 此时上面.Application.Caching中可以将MeowvBlogDomainModule加上了。//MeowvBlogApplicationCachingModule.cs ...[DependsOn(typeof(AbpCachingModule),typeof(MeowvBlogDomainModule))]public class MeowvBlogApplicationCachingModule : AbpModule{...} ... .Domain.Shared.Domain.Shared层相当于.Domain的一个扩展一样这里放一下项目用到的枚举、公共常量等内容需要引用我们的.Domain项目Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupItemGroupProjectReference Include..\Meowv.Blog.Domain\Meowv.Blog.Domain.csproj //ItemGroup/Project 还是要新增一个模块类MeowvBlogDomainSharedModule.cs它依赖AbpIdentityDomainSharedModule模块//MeowvBlogDomainSharedModule.cs using Volo.Abp.Identity; using Volo.Abp.Modularity;namespace Meowv.Blog.Domain {[DependsOn(typeof(AbpIdentityDomainModule))]public class MeowvBlogDomainModule : AbpModule{} } .EntityFrameworkCore.EntityFrameworkCore层同样的先删掉默认生成的文件。它主要是集成了EF Core自定义仓储。详细可以看看abp文档https://docs.abp.io/zh-Hans/abp/latest/Repositories它支持多种数据库 MySQL、SqlServer、PostgreSql、Sqlite等如果你有用到MongoDB则需要新建一个项目单独实现。可以看官方文档有时间可以分享具体方法本项目用不到。https://docs.abp.io/zh-Hans/abp/latest/MongoDB为了方便大家我把以上4种主流数据库都集成到项目中添加包Volo.Abp.EntityFrameworkCore.MySQL.PostgreSql、.Sqlite、.SqlServer同时引用.Domain.Shared项目//Meowv.Blog.EntityFrameworkCore.csproj Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupItemGroupPackageReference IncludeVolo.Abp.EntityFrameworkCore.MySQL Version2.7.0 /PackageReference IncludeVolo.Abp.EntityFrameworkCore.PostgreSql Version2.7.0 /PackageReference IncludeVolo.Abp.EntityFrameworkCore.Sqlite Version2.7.0 /PackageReference IncludeVolo.Abp.EntityFrameworkCore.SqlServer Version2.7.0 /ProjectReference Include..\Meowv.Blog.Domain.Shared\Meowv.Blog.Domain.Shared.csproj //ItemGroup/Project 新建一个模块类MeowvBlogFrameworkCoreModule.cs依赖MeowvBlogDomainModule和数据库模块//MeowvBlogFrameworkCoreModule.cs using Meowv.Blog.Domain; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore.MySQL; using Volo.Abp.EntityFrameworkCore.PostgreSql; using Volo.Abp.EntityFrameworkCore.Sqlite; using Volo.Abp.EntityFrameworkCore.SqlServer; using Volo.Abp.Modularity;namespace Meowv.Blog.EntityFrameworkCore {[DependsOn(typeof(MeowvBlogDomainModule),typeof(AbpEntityFrameworkCoreModule),typeof(AbpEntityFrameworkCoreMySQLModule),typeof(AbpEntityFrameworkCoreSqlServerModule),typeof(AbpEntityFrameworkCorePostgreSqlModule),typeof(AbpEntityFrameworkCoreSqliteModule))]public class MeowvBlogFrameworkCoreModule : AbpModule{public override void ConfigureServices(ServiceConfigurationContext context){}} } .EntityFrameworkCore.DbMigrations.EntityFrameworkCore.DbMigrations层主要做数据库迁移用code-first方式创建数据库表先删掉默认生成的文件目前还用不上后面讲。.ToolKits.ToolKits层是我们手动创建的项目我主要用它来包装一些扩展方法公共的工具类。Swagger登场做.net core开发的相信Swagger的使用大家应该都很熟悉了不做过多的介绍今天只先将其用上看看效果。我单独为Swagger新建了一个项目Meowv.Blog.Swagger其实大可不必直接写在.HttpApi.Hosting中也是一样的。添加Volo.Abp.AspNetCore和Swashbuckle.AspNetCore包引用实体层.Domain。//Meowv.Blog.Swagger.csproj Project SdkMicrosoft.NET.SdkImport Project..\..\common.props /PropertyGroupTargetFrameworknetcoreapp3.1/TargetFramework/PropertyGroupItemGroupPackageReference IncludeVolo.Abp.AspNetCore Version2.7.0 /PackageReference IncludeSwashbuckle.AspNetCore Version5.4.1 /ProjectReference Include..\Meowv.Blog.Domain\Meowv.Blog.Domain.csproj //ItemGroup/Project 添加模块类MeowvBlogSwaggerModule.cs依赖MeowvBlogDomainModule模块并且重写ConfigureServices和OnApplicationInitialization方法不知道这是什么的可以看文档https://docs.abp.io/zh-Hans/abp/latest/Module-Development-Basics然后新建一个扩展类MeowvBlogSwaggerExtensions.cs编写两个扩展方法AddSwagger和UseSwaggerUI。在AddSwagger方法中引用我们的XML文件配置接口的名称版本以及描述信息在UseSwaggerUI方法中使用SwaggerUI代码如下//MeowvBlogSwaggerExtensions.cs using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.OpenApi.Models; using System; using System.IO;namespace Meowv.Blog.Swagger {public static class MeowvBlogSwaggerExtensions{public static IServiceCollection AddSwagger(this IServiceCollection services){return services.AddSwaggerGen(options {options.SwaggerDoc(v1, new OpenApiInfo{Version 1.0.0,Title 我的接口啊,Description 接口描述});options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, Meowv.Blog.HttpApi.xml));options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, Meowv.Blog.Domain.xml));options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, Meowv.Blog.Application.Contracts.xml));});}public static void UseSwaggerUI(this IApplicationBuilder app){app.UseSwaggerUI(options {options.SwaggerEndpoint($/swagger/v1/swagger.json, 默认接口);});}} } 随后便可以在模块MeowvBlogDomainModule中引用了//MeowvBlogSwaggerModule.cs using Meowv.Blog.Domain; using Microsoft.AspNetCore.Builder; using Volo.Abp; using Volo.Abp.Modularity;namespace Meowv.Blog.Swagger {[DependsOn(typeof(MeowvBlogDomainModule))]public class MeowvBlogSwaggerModule : AbpModule{public override void ConfigureServices(ServiceConfigurationContext context){context.Services.AddSwagger();}public override void OnApplicationInitialization(ApplicationInitializationContext context){context.GetApplicationBuilder().UseSwagger().UseSwaggerUI();}} } 最后在.HttpApi.Hosting层的的启动模块中引用一下。//MeowvBlogHttpApiHostingModule.cs ...[DependsOn(typeof(AbpAspNetCoreMvcModule),typeof(AbpAutofacModule),typeof(MeowvBlogHttpApiModule),typeof(MeowvBlogSwaggerModule),typeof(MeowvBlogFrameworkCoreModule))]public class MeowvBlogHttpApiHostingModule : AbpModule{...} ... Ctrl Shift B生成解决方案CtrlF5打开 .../swagger/index.html 看看效果上面有一个坑没有填不知道大家发现了没有Meowv.Blog.HttpApi.xml没有生成启动是是会报错的大家按照之前的方法自行生成XML即可。棒预期已经达到了。Swagger之所以想单独创建一个项目是因为还涉及到很多内容如接口分组、JWT授权、还有Swagger文档描述信息的Filter等。项目中还剩下.BackgroundJobs层没有处理此层准备集成Hangfire做一个定时任务处理的后面会慢慢用起来的。现在再回头看看项目是不是很清爽? 没有乱七八糟的东西有的只是我们需要的。此时的层级目录以供参考。项目中可能有许多不是很合理的地方请酌情参考。因为大佬们都不愿意出来分享所以我们渣渣只能做到这种程度如果有错误欢迎指正谢谢。开源地址https://github.com/Meowv/Blog/tree/blog_tutorial
http://wiki.neutronadmin.com/news/24697/

相关文章:

  • 个人怎么做一个网站集团做网站
  • 2018做网站 工具程序源码网站
  • asp免费网站模板wordpress提交工单
  • 鲜花网站建设规划书软件制作app
  • 文章网站是怎么做的建筑工程承包网沈阳
  • 张家口购物网站开发设计asp.net做网站的流程
  • 直播网站开发核心技术wordpress支持php几
  • 网站建设基本技术网站开发组合 lamp
  • 长尾关键词查询珠海优化seo
  • 低价网站建设费用预算容桂做外贸网站
  • 西安道桥建设有限公司网站四川城乡和住房建设厅网站
  • 企业公司网站建设公司wordpress上传主题没有反应
  • 多元网站宁波seo排名优化培训
  • 佛山哪里有网站开发?网站建设百度认证
  • 极致优化WordPress网站速度网站制作和设计需要多少钱
  • 上海哪家做网站好装修公司网站 源码
  • linux网站服务器配置网站建设方案包括哪些内容
  • 网站建站上海百度站长工具是什么意思
  • 东营建设网站wordpress 安装插件
  • 做漫画网站湖南邵阳建设局网站
  • 合肥专业网站建设流行网站开发框架
  • 汕头网站时优化前端入职一周被劝退
  • 品牌网站建设教程wordpress 简约论坛
  • 杭州设计企业网站高端公司宁波建设网谢家限价期房2004
  • 找活做的网站定制杯子
  • 丽江网站设计公司访问数据库的网站开发语言
  • 南宁网站建设教学软件开发公司组织结构图
  • 游戏类网站备案需要前置审批吗什邡市建设局门户网站
  • 左侧导航栏网站做棋牌网站违法吗
  • 深圳外包公司网站登录背景图片素材