IIS发布.net6 api+微信小程序/H5真机调试接口的流程
我们创建.net6 api程序,然后使用SqlSugar连接MySQL数据库,再使用iis发布,当然使用其他的也行。再开发一个微信小程序,手机运行小程序,手机运行H5,都可以看到数据库的数据,就是这么一个流程。
开始!
目录
第一,.net6api开发
第二,IIS发布.net6api
第三,开发微信小程序
第四,微信小程序真机运行
第五,H5运行
第一,.net6api开发
1.创建.net6 api程序
2.安装SqlSugarCore
3.为了简单,就在WeatherForecastController控制器里面写一个方法
业务就是:查询c表的数据,数据没有任何意义,仅仅只是举例
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using System.Data;namespace testNet6.Controllers
{[ApiController][Route("api/[controller]/[action]")]public class WeatherForecastController : ControllerBase{private static readonly string[] Summaries = new[]{"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"};private readonly ISqlSugarClient db;private readonly ILogger<WeatherForecastController> _logger;public WeatherForecastController(ILogger<WeatherForecastController> logger, ISqlSugarClient db){_logger = logger;this.db = db;}[HttpGet]public IEnumerable<WeatherForecast> Get(){return Enumerable.Range(1, 5).Select(index => new WeatherForecast{Date = DateTime.Now.AddDays(index),TemperatureC = Random.Shared.Next(-20, 55),Summary = Summaries[Random.Shared.Next(Summaries.Length)]}).ToArray();}[HttpGet]public async Task<ActionResult<object>> GetAll(){DataTable dt = await db.Ado.GetDataTableAsync($"SELECT `c`\r\n\t,`cc`\r\n\t,`q`\r\nFROM `test`.`c`\r\n ");return JsonConvert.SerializeObject(dt);}}
}
Program.cs代码
包含了注入SqlSugarScope和跨域的配置
using SqlSugar;namespace testNet6
{public class Program{public static void Main(string[] args){var builder = WebApplication.CreateBuilder(args);builder.Services.AddControllers();builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();builder.Services.AddSingleton<ISqlSugarClient>(db =>{return new SqlSugarScope(new ConnectionConfig(){DbType = SqlSugar.DbType.MySql,ConnectionString = builder.Configuration["ConnectString"],IsAutoCloseConnection = true,}, db =>{//单例参数配置,所有上下文生效 db.Aop.OnLogExecuting = (sql, pars) =>{Console.WriteLine(UtilMethods.GetSqlString(SqlSugar.DbType.MySql, sql, pars));};});});builder.Services.AddCors(options =>{options.AddPolicy("cors", p =>{p.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();});});var app = builder.Build();app.UseSwagger();app.UseSwaggerUI();app.UseCors("cors");app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();}}
}
4.效果
此时我们直接运行代码可以看到需要的数据
第二,IIS发布.net6api
当然这步也可以使用Nginx来发布.net6 api,等等其他的也行
1.回到程序中,然后我点击发布
这里选择如图所示即可
2.然后看到publish文件夹下生成的文件
3. 打开IIS,然后输入网站名称,物理路径就是指向publish
点击确定
4.运行效果
补充:切记只要环境配置正常了,直接扔进去即可,不需要任何设置,设置了可能出问题。
配置问题,具体可以百度搜索一下,主要是要下载运行时文件,这里就不详细说了
Download .NET 6.0 (Linux, macOS, and Windows)
是否成功看模块中的项,如图所示
第三,开发微信小程序
1.微信小程序我们使用uniapp开发,具体参考如下
uniapp中调用.net6 webapi_uniapp webapi_故里2130的博客-CSDN博客
2.这里的功能很简单,就是我们访问.net6api的数据,在前台上显示即可
所以,这里的代码就简写了
首先我们配置后台接口
const BASE_URL = 'http://192.168.191.1:8066'
这里的request我使用的是luch-request,都封装好了,直接用即可
request.get(`/api/WeatherForecast/GetAll`).then(res => {console.log(res)aaaaa.value = res})
3.一切完成后,点击运行
4.效果
这是网站的效果
5.进入微信开发者工具之前
这里坑很多,只说大概流程
此时就要申请测试号,网址如下,把APPID填到下图中
小程序
6.如图所示,点击运行
这里也有很多坑,有时候运行不起来,可以看程序的报错,要打开端口,不行就多运行几次,或者退出试试。
7.进入微信开发者工具
终于进来了!!!
如果这里是灰色的,是不能真机调试的,所以这步是关键,APPID是关键
8.运行
如果报错点击这2个按钮,直到运行成功
9.成功运行,并且显示的数据和网站的一样
此时我们开发的环境就是这么多,足够用了。也就是网站和微信小程序开发的环境。
总以为把所有的坑都踩完了,万万没想到啊,真机运行才是最大的坑。
第四,微信小程序真机运行
1.首先排除出现这个错误提示,不影响的,是正常的
2.先看看,遇到错误图,现在已经对不上号了,因为最后一步真机调试,断断续续折腾2天,也设置了很多配置,都是无用功
基本上都是
errno":600001这些
request:fail errcode:-300 cronet_error_code:-300 error_msg:net::ERR_INVALID_URL
还有什么SSL问题,很多人说微信小程序只能访问HTTPS,不能访问HTTP。当时我还问了微软的ChatGpt,她也说是的,我人麻了,安装SSL又非常的复杂。她的意思是不是在正式部署的时候必须使用HTTPS?暂时我也不知道,谁知道可以告诉我一下。但是真机调试时,http也是可以的,我已经测试成功,本案例就是基于HTTP的。
3.意外发现
当我部署.net6api以后,在Windows的日志中,发现了问题
An unhandled exception was thrown by the application
Unable to resolve service for type 'SqlSugar.ISqlSugarClient'
这就是最后的线索了,意思是我程序中的ISqlSugarClient没有被解析。
原因就是这里导致的,正确的写法就是一开始.net6api中ISqlSugarClient注入的写法。
最奇怪的是:“之前错误的写法”,在IIS部署后,网站,微信小程序都可以访问,没有任何问题,就是到了真机调试的时候出的问题, 所以怀疑代码写错实在太难了。
3.配置截图
注意微信开发者工具的版本
手机网络和电脑要在同一个WiFi环境下这是前提
然后下面是配置的截图,成功运行的配置
4.真机运行
出不来,就多重启几次,多编译几次,缓存清理一下
手机上面的显示
电脑的日志显示
至此,微信小程序真机终于成功了!
第五,H5运行
1.H5比较简单,选择如图所示
2.会生成静态文件夹
3.在IIS上面部署即可
H5配置的时候,会出现IIS跨域问题,这个问题百度即可,但是也不好设置,因为每台电脑的IIS内置有些不一样。
4.手机访问H5
输入IP地址和端口即可
大功告成!
IIS发布.net6 api+微信小程序/H5真机调试接口的流程相关推荐
- 【微信小程序】真机调试引用的外部字体不生效问题
项目场景: 前提:之前的在H5和开发者工具里面都正常: 问题描述 问题:在H5和开发者工具里面字体引用都正常,但是真机调试出现问题. 在H5和开发者工具里面字体引用不正常的参考我的上一篇文章: 解决引 ...
- 开发版微信小程序手机版无法访问服务器,微信小程序 安卓 真机调试 202:net::ERR_CERT_AUTHORITY 无法请求接口 请求接口无响应...
微信小程序 真机调试 202:net::ERR_CERT_AUTHORITY 主要在安卓机. 证书使用的是腾讯云的免费证书 TrustAisa 开发者工具 手机端浏览器 PC浏览器 访问https:/ ...
- 微信小程序mqtt真机调试connect失败
问题 最近学习使用微信小程序实现mqtt通信,在真机调试时遇到一个bug卡住很久:在小程序开发工具中能正常连接服务器.订阅.收发消息,但真机调试和预览不能连接到mqtt服务器. 解决问题前的环境 1. ...
- 微信小程序项目真机调试图片不显示处理
微信开发者上图片显示,但在真机调试时不显示.查看数据库图片文件上传方式.如果是本地地址,改成网络地址即可.如图: 查找ip网络地址方法 按windows+R快捷键,输入CMD,输入ipconfig ...
- 企业微信小程序 如何真机调试?
文章目录 前提条件 调试建议 前提条件 1.小程序已发布 2.企微后台自建应用已绑定发布的小程序 3.企业微信在通讯录中把你添加进去,让你属于这个企业 4.微信公众平台添加开发者 5.使用微信开发者工 ...
- 微信小程序工具真机调试提示page xxx/xxx/xxx is not found
解决方法: pages对象添加该页面 转载于:https://www.cnblogs.com/Zev_Fung/p/9937464.html
- 微信小程序使用真机或开发工具进行http请求开发测试亲测有效
微信小程序使用真机或开发工具进行http请求开发测试 1使用微信开发这工具进行http请求的配置 2:真机进行http请求 微信开发这平台要求上线微信小程序配置的合法域以及网络请求名必须是https, ...
- (保姆级解决方案)微信小程序【真机预览】无法向服务器发送请求(实测有效)
问题描述:微信小程序"打开调试模式可以发出请求,关闭调试模式无法发出请求" 一.小程序配置request合法域名 1 获取uni-cloud官网提供的request合法域名 这个获 ...
- 小程序模板真机调试和预览白屏
支付宝或淘宝小程序模版开发真机调试和预览扫码白屏 问题模块:开发相关 模版开发在模拟器中调试没问题, 用真机调试和预览扫码白屏 解决方案 将mini.project.json文件中的"ena ...
最新文章
- python sys.argv是什么?
- win8计算机上工具选项在哪,Win8.1在开始菜单中找不到“便笺”工具如何恢复
- 畅通工程 HDU - 1233
- Java并发基本概念
- OpenCV高动态范围成像
- aliplayer 手机全屏控件不显示_Flutter 强大的MediaQuery控件
- [BUUCTF-pwn]——[Black Watch 入群题]PWN
- qt for android 图片可拉伸,qt实现九宫格布局,图片拉伸
- java excel 转pdf
- ASP.NET中Cookie编程的基础知识
- maven (http://repo1.maven.org/maven2/): Failed to transfer file 和PKIX path building failed: sun.secu
- 信息学奥赛一本通 1139:整理药名 | OpenJudge NOI 1.7 15
- 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)
- String封装——读时共享,写时复制
- postgreSQL源码分析——索引的建立与使用——Hash索引(1)
- 教你怎么样快速降低室内装饰设计污染
- jquery mobile页面跳转后js不执行的问题
- 三菱Fx系列PLC的编程口协议
- 组合数学——信封错装问题
- Excel的数据透视表怎么弄 ?数据透视表怎么做汇总求和
热门文章
- Vue项目从 打包优化 到 上线部署 云服务器的全过程(**教你在云服务器上优化部署自己的项目**)
- 名人经典语录:关于爱情
- magento 中文店铺设置
- Chrome 浏览器如何完美实现滚动截图技巧
- WIN10中使用WIN7的照片查看器
- 生信中不认识的专业单词
- 计算机编码骂人,我想知道它的意思?是编码吗?是骂人?还是.浣犳..锛Yi字我也不? 爱问知识人...
- 【虚拟专用网】阿里云ubuntu服务器服务端和windows11客户端搭建
- 魔兽世界服务器显示排队中,《魔兽世界》怀旧服正式上线 多个服务器出现排队...
- Hbuilder X APP开发 iPhoneX以上型号屏幕底部覆盖返回条适应问题