aps.net core 6.0 web API SwaggerUI IIS部署【23.10.15】亲测,通过

news2024/11/30 8:55:46

目录
  • 一、aps.net core 6.0 web API 项目配置
    • 创建项目
    • 设置 Swagger UI 为起始页
    • 发布项目
  • 二、在 IIS 部署
    • 安装IIS
    • 安装 Hosting Bundle
  • 三、内网穿透

使用的是 VS2022社区版,WebAPI的版本是 .netcore6.0

一、aps.net core 6.0 web API 项目配置

1.创建项目

运行项目会默认打开 Swagger UI 界面

设置 Swagger UI 为起始页

打开 launchSettings.json 文件
屏蔽以下两行代码

打开 Program.cs 文件
屏蔽原来的环境判断,新增以下代码

            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.RoutePrefix = "";
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1"); //第二个参数可自定义命名
            });

解释一下,这么做的目的是防止别名出现找不到 swagger.json 的错误

再次运行调试,会发现以下变化

发布项目

发布项目:右击项目 → 发布,选择文件夹

选择文件夹位置,这个位置就是 项目发布后的文件 所在的位置

检查 目标位置 的文件夹是否存在,不然会报错
点击 更多操作→编辑 可根据自己的项目进行设置

设置好后,点击 发布
当输出显示成功即发布成功;若失败会显示具体信息供排查

二、在 IIS 部署

安装IIS

安装 Hosting Bundle

点击 下载 .NET(Linux、macOS 和 Windows)
下载安装 Hosting Bundle
我这里安装的是 Hosting Bundle 6.0,可根据情况适当更改

安装成功后,打开 IIS →模块 后会在列表看到 AspNetCoreModuleV2

右键 网站 添加网站

点击 应用程序池 
选择 无托管代码

点击浏览,则会跳转到 Swagger UI 界面

三、内网穿透

打开 控制面板 → 防火墙

高级设置

入站规则 → 新建规则

端口 → 特定本地端口
然后一直按 下一步,最后填写 名称 即可完成

端口8093

名称:AliWorkbench.WebApi

现在,内网的其他小伙伴也可以访问你的 web API 了
其他用户访问的url需加入你的 ipv4 地址
例:你的 ipv4 为 192.100.99.1
本地访问:http://localhost:4040/index.html
内网访问: http://192.100.99.1:4040/index.html
 

1生成xml文档

项目右键,选择属性,点击生成,勾选,将项目编译生成,就会自动创建xml文档

2修改Program.cs

只要改一个地方就行


            builder.Services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "阿里工作台-微信小程序后端api文档", Version = "v1" });
                // var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
                // var xmlPath = Path.Combine(basePath, "HouseSysWebApplication.xml");

                var xmlPath = Path.Combine(AppContext.BaseDirectory, "AliWorkbenchProgram.xml");

                c.IncludeXmlComments(xmlPath, true);//true:显示控制器注释
                c.OrderActionsBy(o => o.RelativePath);//action名称排序
            });

3编译生成,启动,看效果,立马中文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1095784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络层哪些事?

在本文讲解的网络层中,注意了解一下:IP协议! 地址管理:每个网络上的设备,要能分配一个地址(唯一)路由选择:A给B发消息,具体走哪条路线?? IP地址&…

kube-controller-manager和kube-scheduler不能正常启动

kube-controller-manager-k8s-worker01和kube-scheduler-k8s-worker01没有启动起来 原因: 解决:进入/etc/kubernetes/manifests 编辑 将镜像地址修改为 然后重启kubelet:systemctl restart kubelet.service

JVM 垃圾回收机制(可达性分析、引用计数)

目录 1 什么是垃圾2 为什么需要回收3 哪些对象被判定为垃圾呢3.1 引用计数法3.2 可达性分析算法:GC Roots根 1 什么是垃圾 垃圾是指在运行程序中没有任何指针指向的对象,就是需要被回收的。 2 为什么需要回收 执行程序会不断地分配内存空间&#xff0c…

快速上手 vue3

快速上手 vue3 文章目录 1. 组合式 api2. 路由3. 定义全局方法和变量4. 父子组件调用 --> 自定义事件5. 生命周期函数6. 状态管理 vuex 1. 组合式 api setuprefreactivecomputed生命周期钩子 , onMounted … 2. 路由 安装路由: npm install vue-router 创建一个 router…

欠拟合、过拟合及优化:岭回归

问题:训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢? 当算法在某个数据集当中出现这种情况,可能就出现了过拟合现象。 1、 什么是过拟合与欠拟合 欠拟合 过拟合 分析 第一种情况:因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅…

基于SSM的摄影约拍系统

基于SSM的摄影约拍系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisJSP工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 前台系统:首页拍摄作品展示、摄影师展示、模特展示、文章信息、交流论…

【Java学习之道】线程的生命周期与状态转换

引言 多线程编程是Java程序员必备的技能之一,它可以让我们的程序更加高效地运行。在学习多线程编程时,我们需要了解线程的生命周期和状态转换。本篇文章将为你揭示线程的奥秘,让你轻松掌握多线程编程的基础知识。 一、线程的生命周期 线程…

解码自然语言处理之 Transformers

自 2017 年推出以来,Transformer 已成为机器学习领域的一支重要力量,彻底改变了翻译和自动完成服务的功能。 最近,随着 OpenAI 的 ChatGPT、GPT-4 和 Meta 的 LLama 等大型语言模型的出现,Transformer 的受欢迎程度进一步飙升。这…

【LeetCode刷题(数据结构与算法)】:平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 输入:root [3,9,20,null,null,15,7] 输出:true 输入:roo…

SpringMVC全注解开发

在学习过程中,框架给我们最大的作用,就是想让开发人员尽可能地只将精力放在具体业务功能的实现之上,而对于各种映射关系的配置,统统由框架来进行完成,由此,注解就很好的将映射功能进行实现,并且…

CentOS-7网卡重启后关闭的解决方法

第一步查找网卡: ip addr 如下图: 于是发现网卡eth0。 第二步进入网卡配置目录并进行配置: cd /etc/sysconfig/network-scriptsvim ifcfg-eth0 第三步改配置如下图: 然后每次重启后网卡会自动启动。

网络基础2(1)

HTTP 1.应用层协议2.send和recv单独使用不安全3.URL4.urlencode和urldecode5.HTTP协议格式6.HTTP中的常见请求方法POST&&GET7.HTTP的状态码8.HTTP常见Header 🌟🌟hello,各位读者大大们你们好呀🌟🌟 &#x1f6…

【算法|前缀和系列No.1】牛客网 DP34 【模板】前缀和

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【牛客网刷题】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希…

Opencv——颜色模型+通道分离与合并

视频加载/摄像头调用 VideoCapture允许一开始定义一个空的对象 VideoCapture video VideoCapture(const String &filename,int apiPreferenceCAP_ANY) filename:读取的视频文件或者图像序列名称 apiPreference:读取数据时设置的属性,例如编码格式、是否调用Op…

罗技鼠标接收器丢失或损坏后用另一个接收器配对的方法

本文介绍罗技鼠标在丢失、损坏其自身原有的接收器后,将另一个新的接收器与原有鼠标相互配对的方法。 在开始之前,大家需要首先查看两个内容:首先是原有的鼠标——大家需要查看自己的鼠标(罗技键盘也是同样的操作)底部&…

【动态规划】309. 买卖股票的最佳时机含冷冻期、 714. 买卖股票的最佳时机含手续费

提示:努力生活,开心、快乐的一天 文章目录 309. 买卖股票的最佳时机含冷冻期💡解题思路🤔遇到的问题💻代码实现🎯题目总结 714. 买卖股票的最佳时机含手续费💡解题思路🤔遇到的问题&…

MybatisPlus 从零开始 全面学习!

引入 本文以下将mybatisPlus简称为mp 首先注意: mybatisPlus不是mybatis 的替代品,而是增强mybatis的技术. 只做增强不做改变, 引入他不会对现有工程产生影响. 快速入门 基本步骤 以下为mapper例子: 要继承这个BaseMapper类, 并在泛型括号中 标注好要操作的类 public interf…

【题解】[NOIP2015]扫雷游戏(Java C++)

题目描述 见 P2670 [NOIP2015 普及组] 扫雷游戏 - 洛谷。 前置知识 无。 题目分析 只需要统计每一个格子周围 8 个格子的地雷数量即可。 重点是处理边界情况,比如左上角,有五个格子不在数组范围内,需要特殊处理。 为了避免思路混乱&a…

div盒子放在页面正中间,添加旋转动画的时候,盒子向右下偏移

一、问题代码(核心部分) //盒子定位在页面正中心 #spinner { position: absolute; left: 50%; top: 50%; border: #2ecc71 solid 1px; transform: translate(-50%, -50%); animation: rotate 5s linear 2s forwards; transform-origin: 50% 50%; } keyfr…

hadoop组成

在hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源调度,耦合性较大; 在hadoop2.x时代,新增了yarn,主要负责资源的调度,MapReduce仅负责运算; 在hadoop3.x时代,在组成上没有变化;