.Net Core-从零开始搭建框架(一)
之前一直想学习一下用Vs Code开发, 趁着最近有做一个小项目的想法, 顺路学习一下
Vs Code 技巧
推荐的Vs Code插件
- vscode-solution-explorer //解决方案
- C#
- C# Extensions
- C# XML Documentation Comments //三行注释
常用的命令
- F1 或 Ctrl+Shift+P: 打开命令面板
- Ctrl+` 打开命令行
- Shift+Alt+F 代码格式化
- Ctrl+B 侧边栏显/隐
- Ctrl+Shift+E 显示资源管理器
- Ctrl_Tab 切换文件
Vs Code 运行生成XML注释文件
先在对应的项目csproj文件里节点PropertyGroup内添加代码:
1 |
|
创建项目和集成Swagger
先创建一个空白的解决方案, 再往里面添加对应的项目, 先添加一个ASP.Net CORE WEBAPI项目, 名称为Caty. Core. Api. 通过vscode-solution-explorer插件, 这一步将十分简单, 就像在vs中一样.
引入swagger插件
在终端控制台输入命令:dotnet add YourProjectName.csproj package Swashbuckle. AspNetCore
要增加的引用
- using System.IO;
- using Swashbuckle.AspNetCore.Swagger;
- using System.Reflection;
添加配置和Swagger中间件
打开Startup.cs类,编辑ConfigureServices类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
#region Swagger
services.AddSwaggerGen(c =>{
c.SwaggerDoc("v1", new Info{
Version = "v1.0.0",
Title = "Core Api",
Description = "基础框架",
TermsOfService = "None",
Contact =new Swashbuckle.AspNetCore.Swagger.Contact{ Name = "Caty", Email = "1120873075@qq.com", Url = "https://chcaty.github.io/" }
});
//添加读取注释服务(需在生成时输出xml注释文件)
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath,true);//true表示显示控制器注释
//添加header验证信息
var security = new Dictionary<string,IEnumerable<string>>{ {"Admin",new string[] {} },};
c.AddSecurityRequirement(security);
c.AddSecurityDefinition("Admin",new ApiKeyScheme
{
Description = "JWT授权 参数结构: \"Authorization: Admin {token}\"",
Name = "Authorization",//默认的参数名
In = "header",//存放信息的位置(请求头中)
Type ="apiKey"
});
}) ;
#endregion
}编辑Configure类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
#region Swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json","Api Help V1");
});
#endregion
}
在框架中引入Dapper
在解决方案中添加Business, Service, Entity, Common 四个类库
Entity类库创建User实体类
1 |
|
在Common中设置连接字符串和DbConnection
1 |
|
使用泛型针对每一个表定义基本的CRUD接口, 然后IUserRepository继承它
定义
1 |
|
继承
1 |
|
实现IUserRepository定义的接口
1 |
|
未完待续….
.Net Core-从零开始搭建框架(一)
http://blog.chcaty.cn/2019/02/21/net-core-cong-ling-kai-shi-da-jian-kuang-jia-yi/