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地址和端口即可

 

大功告成! 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸡兔同笼问题 ← C语言实现

【问题描述】 今有雉兔同笼&#xff0c;上有三十五头&#xff0c;下有九十四足&#xff0c;问雉兔各几何&#xff1f; ------《孙子算经》 【解题思路】 假设都是“兔…

达达兔网站服务器是哪里,达达兔影院网官网

达达兔是一款掌上的影院&#xff0c;你可以在这里收看到不同的影视作品&#xff0c;更多的影视作品离线在线都可以看&#xff0c;经典的&#xff0c;新颖的&#xff0c;喜爱看电影追剧的朋友绝对不能错过的一款app&#xff0c;全网优质的影视轻松观看&#xff0c;享受精彩的剧集…

兔子,撒币

作为最硬核的你兔老大&#xff0c;我狠起来连自己都骂 一、原力第一 哈哈当然不是骂自己啦哈哈&#xff0c;其实是最近csdn出了一个活动&#xff1a;原力计划s3&#xff0c;弄得我现在整天想着&#xff0c;给你们发钱。发书。发资料。 对&#xff0c;就是这个玩意&#xff1a…

虚假新闻检测论文调研

虚假新闻检测论文调研 Evidence Inference Networks for Interpretable Claim Verification 基本信息 发表刊物和年份&#xff1a;2021 AAAI 摘要 现有方法的缺点 现有的方法构造了适当的交互模型&#xff08;文本与文本&#xff0c;文本与评论&#xff0c;文本与社交网络…

虚假新闻识别检测分类

虚假新闻检测 一、项目主题 ​ 针对媒体出现的虚假新闻和真实新闻进行检测识别。 ​ 动机&#xff1a;在这个社交媒体和互联网的世界中&#xff0c;我们接触到各种新闻和文章&#xff0c;但其中一些新闻和文章是假的&#xff0c;是为了好玩或出于恶意而制作的&#xff0c;这…

CIKM 2020 | FANG:利用社会语境及其图表示进行假新闻检测

目录 前言1. 问题定义2. 从social context中构建图3. 事实新闻图框架 (FANG)3.1 表示学习3.2 时序建模3.3 损失函数 4. 实验4.1 数据集4.2 实验结果 5. 讨论5.1 数据集大小的限制5.2 时序建模的意义5.3 可扩展性 6. 总结 前言 题目&#xff1a; FANG: Leveraging Social Contex…

一文看懂虚假新闻检测(附数据集 论文推荐)

作者丨孙子荀 单位丨腾讯科技高级研究员 研究方向丨多模态内容质量 本人过去几年一直从事内容质量方面的算法工作&#xff0c;近期出于兴趣对假新闻这个问题做了一些调研&#xff0c;简单总结一下提供读者参考。 在某种程度上假新闻的是一个微观领域问题&#xff0c;它和谣言分…

独家 | 社交媒体假新闻检测方法及发展方向(附数据集)

作者&#xff1a;Kai Shu and Huan Liu from Arizona State University 翻译&#xff1a;窦英通 本文长度为2000字&#xff0c;建议阅读5分钟 本文为你介绍社交媒体假新闻的描述和检测及未来研究方向。 社交媒体对新闻传播是一把双刃剑。一方面&#xff0c;它成本低廉&#xf…

论文阅读-虚假信息检测综述 - Fake News Detection on Social Media: A Data Mining Perspective

论文链接&#xff1a;https://arxiv.org/pdf/1708.01967.pdf 目录 摘要 1 引言 2. 假新闻定义 2.1 假新闻的定义 2.2 传统新闻媒体上的假新闻 2.3社交媒体上的假新闻 3.假新闻检测 3.1问题定义 3.2 特征提取 3.2.1 新闻内容特征 3.2.2 社会语境特征 3.3 模型构建 …

论文阅读-社交媒体上的谣言检测:数据集、方法和机会

论文链接&#xff1a;https://aclanthology.org/D19-5008.pdf 目录 摘要 引言 1.1谣言检测 1.2 问题陈述 1.3 用户立场 2 数据集和评估指标 2.1 数据集 2.2 评价指标 3 特点和方法 3.1使用内容信息的方法 3.2 利用用户信息的方法 3.3 基于传播路径和网络的方法 3.4…

说说Android桌面(Launcher应用)背后的故事(大结局)——让Widget拥有Application同等的待遇

前一篇中,演示了如何开发一个Widget以及如何开发一个WidgetHost应用。有了这个基础&#xff0c;我们就知道&#xff0c;要想在桌面上添加Widget&#xff0c;那么需要完成两件事情&#xff1a; 1、将桌面应用实现为一个WidgetHost应用 2、CellLayout需要为每个添加的Widget分配…

Android 系统桌面 App —— Launcher 开发

文章目录 Launcher简介注册AndroidManifest使用PackageManager扫描所有app显示app信息&#xff0c;添加点击事件 Launcher简介 Launcher就是Android系统的桌面&#xff0c;它也是一个app&#xff0c;用于管理其他的app。 注册AndroidManifest 要让app作为Launcher&#xff0…

Android 4.0 Launcher2源码分析——桌面快捷图标的拖拽

本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处&#xff01; 通过上一篇文章Android4.0Launcher2源码分析&#xff08;五&#xff09;——Workspace的滑动中&#xff0c;已经了解了Launcher的ViewTree中各层所负责的工作&#xff0c;在DragLayer中就负责对…

Android聊天界面实现方式

最近心血来潮&#xff0c;打算实现一个很久之前就想实现的一个界面&#xff0c;就是聊天界面&#xff0c;当时觉得好高大上啊&#xff0c;完全不会啊&#xff0c;不过最近不小心找到了方法。 效果图 本来是想上传一张动态图的&#xff0c;但是不知道怎么回事&#xff0c;半天传…

Android安卓-开发一个android桌面

从0开始 开发一个属于自己的桌面程序 最近在开发一个新项目&#xff0c;需要把应用改成桌面&#xff0c;并引导用户设置为默认桌面&#xff0c;完成后的效果如下图&#xff1a; 1.添加XML <activity android:name".activitys.DeskTop" android:launchMode"si…

安卓11客制需求:<MtkSettings:添加桌面设置,并且能够正常切换桌面APK>

需要修改的路径代码路径&#xff1a;vendor/mediatek/proprietary/packages/apps/MtkSettings/AndroidManifest.xml <!-- 注册一个activity&#xff0c;用于启动 com.android.internal.app.ResolverActivity --><!-- gyh add --><activity android:name".S…

还在用手记录会议笔记?录音转文字简单的方法介绍

相信很多小伙伴们的单位或者是公司每周都要开会&#xff0c;开会一般都要写会议记录存档&#xff0c;有很多朋友这个时候在会议上拼命的记&#xff0c;但是对于一些打字慢的或是写字慢的人来说怎么办呢&#xff1f;这样就会跟不上&#xff0c;其实有更搞笑的方法&#xff0c;首…

只需一键录音转文字,会议记录让你不在烦恼

来让我看看还有哪位朋友&#xff0c;还在傻傻一遍遍听会议录音&#xff0c;手写会议纪要呀&#xff1f; 都2022年了&#xff0c;你不会还不知道这款只需一键就能语音转文字的APP吧&#xff01; 90后打工人&#xff0c;今天给大家分享个职场必备软件&#xff0c;让你瞬间效率拉…

3、微信小程序-通信

文章目录 前言一、组件通信1.微信小程序组件内部&#xff08;页面与逻辑层之间&#xff09;通信2.微信小程序组件之间&#xff08;父子组件&#xff09;通信&#xff08;1&#xff09;父组件是如何向子组件传递数据的&#xff08;2&#xff09;子组件是如何向父组件传递数据的 …

微信小程序之页面通信方式

文章目录 一、前言二、页面通信是什么&#xff1f;三、传值的几种常用方式1.页面跳转传参2.页面跳转传入数据3.使用全局变量传递数据4.利用缓存进行传值 四、小结 一、前言 提示&#xff1a;微信小程序中&#xff0c;页面间的通信方式很重要&#xff0c;通信方式也有很多种&am…