IIS发布.net6 api+微信小程序/H5真机调试接口的流程

这篇具有很好参考价值的文章主要介绍了IIS发布.net6 api+微信小程序/H5真机调试接口的流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们创建.net6 api程序,然后使用SqlSugar连接MySQL数据库,再使用iis发布,当然使用其他的也行。再开发一个微信小程序,手机运行小程序,手机运行H5,都可以看到数据库的数据,就是这么一个流程。

开始!

目录

第一,.net6api开发

第二,IIS发布.net6api

第三,开发微信小程序

第四,微信小程序真机运行

第五,H5运行


第一,.net6api开发

1.创建.net6 api程序

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

2.安装SqlSugarCore

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

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 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

第二,IIS发布.net6api

当然这步也可以使用Nginx来发布.net6 api,等等其他的也行

1.回到程序中,然后我点击发布

这里选择如图所示即可

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

2.然后看到publish文件夹下生成的文件

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

3. 打开IIS,然后输入网站名称,物理路径就是指向publish

点击确定

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

4.运行效果

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

补充:切记只要环境配置正常了,直接扔进去即可,不需要任何设置,设置了可能出问题。 

配置问题,具体可以百度搜索一下,主要是要下载运行时文件,这里就不详细说了

Download .NET 6.0 (Linux, macOS, and Windows)

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

是否成功看模块中的项,如图所示

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

第三,开发微信小程序

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.一切完成后,点击运行

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

4.效果

这是网站的效果

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

5.进入微信开发者工具之前

这里坑很多,只说大概流程

此时就要申请测试号,网址如下,把APPID填到下图中

小程序

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

6.如图所示,点击运行

这里也有很多坑,有时候运行不起来,可以看程序的报错,要打开端口,不行就多运行几次,或者退出试试。

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

7.进入微信开发者工具

终于进来了!!!

如果这里是灰色的,是不能真机调试的,所以这步是关键,APPID是关键

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

8.运行

如果报错点击这2个按钮,直到运行成功

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

9.成功运行,并且显示的数据和网站的一样

此时我们开发的环境就是这么多,足够用了。也就是网站和微信小程序开发的环境。 

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

总以为把所有的坑都踩完了,万万没想到啊,真机运行才是最大的坑。

第四,微信小程序真机运行

 1.首先排除出现这个错误提示,不影响的,是正常的

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

2.先看看,遇到错误图,现在已经对不上号了,因为最后一步真机调试,断断续续折腾2天,也设置了很多配置,都是无用功

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

基本上都是

errno":600001这些

request:fail errcode:-300 cronet_error_code:-300 error_msg:net::ERR_INVALID_URL

还有什么SSL问题,很多人说微信小程序只能访问HTTPS,不能访问HTTP。当时我还问了微软的ChatGpt,她也说是的,我人麻了,安装SSL又非常的复杂。她的意思是不是在正式部署的时候必须使用HTTPS?暂时我也不知道,谁知道可以告诉我一下。但是真机调试时,http也是可以的,我已经测试成功,本案例就是基于HTTP的。

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

3.意外发现

当我部署.net6api以后,在Windows的日志中,发现了问题

An unhandled exception was thrown by the application

Unable to resolve service for type 'SqlSugar.ISqlSugarClient' 

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

这就是最后的线索了,意思是我程序中的ISqlSugarClient没有被解析。

原因就是这里导致的,正确的写法就是一开始.net6api中ISqlSugarClient注入的写法。

最奇怪的是:“之前错误的写法”,在IIS部署后,网站,微信小程序都可以访问,没有任何问题,就是到了真机调试的时候出的问题, 所以怀疑代码写错实在太难了。

3.配置截图

注意微信开发者工具的版本

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

手机网络和电脑要在同一个WiFi环境下这是前提

然后下面是配置的截图,成功运行的配置

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序  

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

4.真机运行

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

出不来,就多重启几次,多编译几次,缓存清理一下 

手机上面的显示 

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

电脑的日志显示

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

至此,微信小程序真机终于成功了! 

第五,H5运行

1.H5比较简单,选择如图所示

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

2.会生成静态文件夹

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

3.在IIS上面部署即可

H5配置的时候,会出现IIS跨域问题,这个问题百度即可,但是也不好设置,因为每台电脑的IIS内置有些不一样。

iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

4.手机访问H5

输入IP地址和端口即可

 iis 小程序部署,# uniapp/手机/移动端,微信小程序,小程序

大功告成! 

来源:IIS发布.net6 api+微信小程序/H5真机调试接口的流程_.net微信小程序_故里2130的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-602276.html

到了这里,关于IIS发布.net6 api+微信小程序/H5真机调试接口的流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .net5 和 .net6 部署到 IIS 完整步骤

    一、两个框架运行环境都是 Win7 以上,如果是SP1 需要安装两个补丁包 第一个:https://download.microsoft.com/download/5/D/0/5D0821EB-A92D-4CA2-9020-EC41D56B074F/Windows6.1-KB3020369-x64.msu 第二个:http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/05/windows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd

    2024年02月05日
    浏览(42)
  • 关于微信小程序调用H5腾讯地图API获取定位信息提示失败问题--解决办法之一

    在跳转到H5页面加载腾讯地图API获取定位信息时,“真机调试”、“开发模式”都可以使用 web-view 组件访问我需要的路径。只有“体验版”、“线上版本”会出现这个错误提示。正常加载都是正常的,但是因为腾讯地图API在获取定位信息的同时,会在页面上内嵌一个隐藏的

    2024年04月26日
    浏览(62)
  • 微信小程序真机https请求失败?报错 “errno“:600001,“errMsg“:“request:fail -200:net::ERR_CERT_COMMON_NAME_INVALID

    目录 1.检查小程序后台有没有配置 2.注意事项 3.证书要求 4.服务端若使用新证书没有成功,可尝试不检验客户端证书 1.检查小程序后台有没有配置 打开微信小程序,开发管理-服务器域名  2.注意事项: 域名只支持  https  (wx.request、wx.uploadFile、wx.downloadFile) 和  wss  (wx.conne

    2024年02月02日
    浏览(49)
  • Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

    开启IIS 如果已开启跳过这步 打开控制面板-程序  打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限  如果不添加访问权限,运行时将会得到如下错误 设置权限   勾选上面添加的账户的修改权限 

    2024年01月21日
    浏览(88)
  • 第1章 基于.Net(Core)框架Web程序的IIS部署发布

    基于.NetCore框架的部署发布的配置定义主要有两个部分的操作:1、配置IIS;2、通过VisualStudio把程序发布到指定文件夹中,下面将以通过.Net6框架开发的22-08-25-065_JsonTable(nopCommerce计划任务(ScheduleTasks)的定义实现)示例程序来详细讲述该程序是怎样被发布部署到IIS中的。 1  准备工

    2024年02月04日
    浏览(37)
  • 部署.net6 到 Windows server 2008 r2 IIS

    首先安装vc环境,文件下载:x64:https://go.microsoft.com/fwlink/?LinkId=746572 x86:https://go.microsoft.com/fwlink/?LinkId=746571 安装net6:dotnet-hosting-6.0.14-win.exe,下载地址: Download .NET 6.0 (Linux, macOS, and Windows)Download ASP.NET Core 6.0 Runtime (v6.0.14) - Windows Hosting Bundle Installer   安装完成之后,在iis的模块

    2024年02月02日
    浏览(45)
  • 关于.NET6后端程序(api)部署ssl证书的问题(https) 解决ing

    首先 一般情况下,后端不用https,但vs默认创建工程时,很容易勾选,这是需要将https改为http 改两处 一、把program.cs的 //app.UseHttpsRedirection(); 注释了 二、launchSettings里的iisSettings中 443改为0 再加一处 launchSettings的\\\"applicationUrl\\\": \\\"http://localhost:5001\\\"需要把s删掉 如果不改 用post会默认

    2024年01月17日
    浏览(61)
  • 微信小程序如何使用原生Websocket api与Asp.Net Core SignalR 通信

    如题,这可能算是.net 做小程序的服务端时,绕不开的一个问题,老生常谈了。同样的问题,我记得我2018/19年的一个项目的解决方案是: 修改官方的SignalR.js的客户端 :把里面用到浏览器的Websocket改成微信小程序的官方api的。目前网上也有不少这样的方案,已经改好开源了;

    2024年02月09日
    浏览(73)
  • C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布

    connected Services 服务依赖(第三方) Properties 文件下 launchSettings.json 项目启动配置文件 wwwroad 存放静态文件 依赖项 管理Nuget程序包 appsettings.json 配置文件 C 业务逻辑运算–调用其他的服务做业务逻辑 M 实体对象,保存数据,数据传输 V 视图,表现层 第一步:寻找log4net 程序包

    2024年02月14日
    浏览(51)
  • 后端 .net7 Minimal API 限流中间件(微信小程序无师自通十)

            我的微信小程序使用.net7 Minimal API 作为后端,当服务器摆上公网后,可以观察到很多的攻击行为和暴力访问。所以,我需要使用微软的限流中间件部署相应的功能在服务器上 : AddFixedWindowLimiter using Microsoft.AspNetCore.RateLimiting; using System.Threading.RateLimiting; 后端

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包