.NET Core webapi 从零开始在IIS上面发布后端接口

原因

.NET core是以后.NET未来的趋势,虽然我感觉Java在web后端的主导地位10年内不会动摇,因为Java占据了先发优势。

不过C#的特点就是,简单,好用,全栈。C#语法糖很舒服,C#能写后端,桌面端,还有Unity关门大弟子支持。外挂个Vue+uniapp。可以说是全栈开发了。

对了,我最近研究了一下C#怎么调用python,已经成功了。就是通过启动python脚本,将参数输进去,然后监听python的运行结果打印。

C# 如何调用python,避免重复造轮子

环境配置

将 ASP.NET Core 应用发布到 IIS 微软官方文档

windows环境

在这里插入图片描述

.NET Core安装

开发端安装

.NET core 下载安装

在这里插入图片描述

我推荐用.NET core 6.0版本,虽然都快过过期了

在这里插入图片描述

在这里插入图片描述

编译环境需要安装
.NET Core 6.0 编译开发环境SDK安装

服务端安装

服务端要装运行环境
.NET Core 6.0 运行环境安装

新建ASP.NET项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在Program文件中修改代码

using Microsoft.AspNetCore.Builder;
using Microsoft.OpenApi.Models;
using System.Reflection;

var builder = WebApplication.CreateBuilder(args);
var MyPolicy = "MyPolicy";

/// <summary>
/// 配置跨域
/// </summary>
builder.Services.AddCors(options =>
{
    
    
    options.AddPolicy(MyPolicy, policy =>
    {
    
    
        policy.AllowAnyHeader().AllowAnyOrigin().AllowAnyMethod();
    });
});
// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();


//添加swagger接口配置
builder.Services.AddSwaggerGen(options =>
{
    
    
    options.SwaggerDoc("v1", new OpenApiInfo
    {
    
    
        Version = "v1",
        Title = "API标题",
        Description = $"API描述,v1版本"
    });
    var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    //IncludeXmlComments 第二参数 true 则显示 控制器 注释
    options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename), true);
});



var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    
    

}
app.UseSwagger();
app.UseSwaggerUI();

app.UseCors(MyPolicy);
app.UseAuthorization();

app.MapControllers();

app.Run();

选择生成API文档
在这里插入图片描述

新建一个控制器
在这里插入图片描述
在这里插入图片描述

输入代码

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace WebApplication1.Controllers
{
    
    
    /// <summary>
    /// 测试类
    /// </summary>
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class TestController : ControllerBase
    {
    
    
        /// <summary>
        /// WebApi测试端口
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public string HttpTest()
        {
    
    
            return "Hello WebApi!";
        }
    }
}

运行
在这里插入图片描述
在这里插入图片描述

运行成功!

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

选择设置
在这里插入图片描述
在这里插入图片描述
部署模式:

  • 框架依赖:
  • 独立:
    • 将运行环境放在生成的文件夹里面
    • 编辑的文件会大80MB

这里建议新手选择独立发布

在这里插入图片描述
这样就能发布到IIS上面了

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44695769/article/details/131557244