文章目录
- 创建项目
- 点击Nuget安装包
- 删除原有controllers
- 编辑新建controll、添加注释
- Startup 注册Swagger服务
- 使用swagger中间件
- 配置XML注释
- 更改启动端口 launchsettings.json
- 在startup.cs跨域处理
- 运行
- 数据库设计与连接
- 安装库
- 新建类继承框架
- 根据数据库表设计对应设计类
- 在DataContext中初始化数据库建立属性,属性名最好与数据库表名称一致
- appsetting.json设置连接字符串
- Startup.cs注册数据库
- 部署
- 发布项目
- IIS部署
- 打开IIS——左击网站——添加网站——选中发布的publish文件物理位置
- 点击应用池程序——找到发布API右击——基本设置——“无托管代码”——确定
- 在防火墙打开所指定端口
创建项目
点击Nuget安装包
删除原有controllers
编辑新建controll、添加注释
Startup 注册Swagger服务
services.AddSwaggerGen(s =>
{
//定义由Swagger生成器创建的一个或多个文档
s.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo()
{
Title = "Swagger测试接口",
Description = "这是一个swagger测试接口",
Version = "v1",
TermsOfService = new Uri("https://test.com"), // A URL to the Terms of Service for the API. MUST be in the format of a URL. API服务条款的URL
Contact = new Microsoft.OpenApi.Models.OpenApiContact()
{
Email = "shanshanyouwen@126.com",
Name = "shanshanyouwen"
},
License = new Microsoft.OpenApi.Models.OpenApiLicense()
{
Name = "SwaggerLicense",
Url = new Uri("https://test.com")
}
});
//将 Swagger 配置为使用按照上述说明生成的 XML 文件。 对于 Linux 或非 Windows 操作系统,文件名和路径区分大小写。 例如,TodoApi.XML 文件在 Windows 上有效,但在 CentOS 上无效。
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
// AppContext.BaseDirectory属性用于构造 XML 文件的路径。 一些 Swagger 功能(例如,输入参数的架构,或各自属性中的 HTTP 方法和响应代码)无需使用 XML 文档文件即可起作用。 对于大多数功能(即方法摘要以及参数说明和响应代码说明),必须使用 XML 文件。
s.IncludeXmlComments(xmlPath);
});
使用swagger中间件
app.UseSwagger(); //启用Swagger
//访问地址 http://localhost:5000/swagger/index.html
app.UseSwaggerUI(); //启用Swagger UI页面
配置XML注释
<GenerateDocumentationFile>true</GenerateDocumentationFile>
更改启动端口 launchsettings.json
在startup.cs跨域处理
services.AddCors(options => {
options.AddPolicy("CorsPolicy", builder =>
{
builder.SetIsOriginAllowed((x) => true)
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
app.UseCors("CorsPolicy");
运行
数据库设计与连接
安装库
新建类继承框架
新建DataContext类并继承DbContext
public class DataContext:DbContext
{
public DataContext(DbContextOptions<DataContext> options)
: base(options) { }
}
根据数据库表设计对应设计类
对应表
对应类
public class CalPointData
{
[Key]
public int id { get; set; }
public string PointTag { get; set; }
public string PointName { get; set; }
public string PointValue { get; set; }
public DateTime? uptime { get; set; }
}
在DataContext中初始化数据库建立属性,属性名最好与数据库表名称一致
public class DataContext:DbContext
{
public DataContext(DbContextOptions<DataContext> options)
: base(options) { }
/// <summary>
/// 原始数据点表
/// </summary>
public DbSet<CalPointData> dbCalPointData { set; get; }
/// <summary>
/// 吹灰器投退点表
/// </summary>
public DbSet<SootblowerData> dbSootblowerData { get; set; }
/// <summary>
/// 吹灰器投退统计
/// </summary>
public DbSet<BlowerCount> dbBlowerCount { get; set; }
/// <summary>
/// 吹灰器故障点表
/// </summary>
public DbSet<FaultData> dbFaultData { get; set; }
/// <summary>
/// 吹灰器故障统计
/// </summary>
public DbSet<FaultRecord> dbFaultRecord { get; set; }
/// <summary>
/// 机组高温点位
/// </summary>
public DbSet<WallData> dbWallData { get; set; }
/// <summary>
/// 机组高温超限统计
/// </summary>
public DbSet<WallRecord> dbWallRecord { get; set; }
}
appsetting.json设置连接字符串
"ConnectionStrings": {
"DataContext": "Server=127.0.0.1;Database=WrdSisData;user=sa;password=@Yiqing7717"
}
Startup.cs注册数据库
services.AddDbContext<DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DataContext")));
services.AddCors(options => {
options.AddPolicy("CorsPolicy", builder =>
{
builder.SetIsOriginAllowed((x) => true)
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
部署
发布项目
左击项目——点击发布——点击发布——点击目标位置,就是发布的API所有文件
在后期部署时,可以将整个publish文件夹拷贝放在指定位置
IIS部署
打开IIS——左击网站——添加网站——选中发布的publish文件物理位置
点击应用池程序——找到发布API右击——基本设置——“无托管代码”——确定
在防火墙打开所指定端口
可参考 https://blog.csdn.net/qq_40685439/article/details/116585478