相信大家对微信小程序的基础和项目应该没有太大问题了,如果还有对微信小程序开发有一些问题,请查看回顾...微信小程序开发者开发好一款微信小程序后,怎么才能发布呢?如何将其提交给微信审核呢?
在前面的【领航教育】项目开发中,后台采用的是C#开发语言,提供的是Web Api接口形式,其实不管采用什么语言开发的后台,java?php?c#?他们都是提供接口程序,要让小程序跑起来,这个接口程序必须跑在Internet上,也就是必须是以web网站的形式提供http服务。
首先需要在本地部署测试小程序,其目的是在本机部署,测试,运行小程序,包括后台代码发布到IIS和小程序代码测试。
一、本地后台程序代码发布
1、安装iis
安装完成,在控制面板--管理工具中可以看到Internet Information Services (IIS)管理器
2、运行环境配置
部署asp.net core web api项目需要安装环境,IIS默认是不支持的,支持环境需要安装net core运行时: dotnet-hosting-5.0.17-win.exe,原因就是前面概述中讲的,.net core项目不是由iis工作进程(w3wp.exe)托管,需要先下载dotnet-hosting-5.0.17-win.exe
下载地址:下载 .NET 5.0 下载 .NET 5.0 (Linux、macOS 和 Windows)
如果你是64位就点X64,如果是32位就点X86,根据你自己系统来选择下载 .NET 5.0
总之下载的就是这个,因为我的项目框架就是.net5,所以下的就是这个,如果你是.net6或7那就要对应的,总之是与你的项目框架是什么版本有关,要对应起来。
然后点击运行安装,然后在IIS工具可以看到
就是这个骚骚骚的东西,害死人,必须要。模块中存在就说明环境已经安装好了,没有的话多重启几下IIS 或者重新再装一次 。为什么要安装这个东西?因为:
与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。
3、修改appsettings.json
改成这样:
4、修改launchSettings.json
改成这样:
5、修改Startup.cs文件
改成这样:
6、修改LingHangEduApi.xml属性
改成这样
7、保存,重新生成项目,运行,结果
8、vs发布项目
创建发布的目的地D:\website\LingHangApp,目录设置权限,即添加everyone用户组,设置权限,如图
项目右键,发布
9、创建网站
添加网站LingHangWeb
修改应用程序池
这一步非常重要,重要得屌炸天
10,修改web.config文件
原来这样的
改成这样
完成代码是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\LingHangEduApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: E153517C-A240-4104-8285-6AC89BAA7093-->
11、修改网站默认首页
浏览网站
二、前台程序代码修改接口地址
前面已将后台程序发布到本机Iis的web网站上,浏览到的是接口地址,这正是想要的,接下来修改
所有界面中js文档中有关请求后台的url地址
1、index.js
2、 pages/course/course.js
3、pages/personal/personal.js
4、pages/us/us.js
5、pages/we/we.js
这样的话,前后台代码部署,测试,运行正常,后面要部署发布到Internet上,需要购买云服务器。