一、IIS配置
IIS (Internet Information Services)是windows的系统组件,可以按用户的要求来安装和卸载。 其作用是(根据用途来说)在做网页设计(其中重点是网页设计类的汇编语言如:asp、java等)的基本服务器(即本地服务器),可以用它来实现和运行(测试)你所制作的网页。
1、打开程序功能:
2:找到IIS (Internet Information Services),并把底下的“Web管理工具”、“万维网服务”以及子项全都勾选
Win7系统是这样的:
3、点击确定,有时需要联网下载些相关数据。配置完成后此页面会自动关闭。关闭后再打开一次,看“Web管理工具”、“万维网服务”两个是否都勾选,要是都勾选,说明打开IIS服务成功,若没有则说明没有打开。
4、成功后在 计算机管理中 即可看到IIS
5、打开计算机管理中的IIS,并在“网站”选项添加一个网站
6、命名hhtest,并且选择一个存放改网站的路径:D:\webStudy\Web
7、点击“启动”
8、点击目录浏览
9、点击启用
10、完成后在上面自动存放网页的目录下新增了一个web.config
11、打开网站测试:
12、网页可以打开成功,说明创建完成。D:\webStudy\Web文件夹里的所有文件也会显示到网页上如web.config,要是把其他图片视频等文件放到这个文件夹,这里也会显示出来
二、VS中打开网页
1、打开:
2、即可看到,之前我们在IIS中配置的所有网站,再选中打开:
完成后:
3、添加网页窗体:
4、选中开会语言,并命名窗体:
5、这里就会生成一个C#文件,若上一步中选择的是VB.NET的语言,这里对应就会生成vb.net的文件
7、在Win7上,默认新建的IIS的.NET版本是2.0的,为了提高性能。需要把2.0升级到4.0
8、这里选择4.0后,会报错:
9、解决办法:
10、找到:C:\Windows\Microsoft.NET\Framework\v4.0.30319
11、以管理员模式运行CMD
12、等待完成
13、暂且到这里,先开发完小程序再回这里修改
二、新建小程序
1、把默认两个页面删除,新建一个新Web页面,并设置不校验合法域名。因为这个是在本地测试
2、有上面可知,访问服务器的地址是:http://localhost/hhtest.aspx
3、页面添加输入组件,按钮,输出组件,并配置绑定变量
4、按钮点击函数调用网络请求
BtnWeb:function(even){
// console.log(InputStr)
let that=this;
wx.request({
url: 'http://localhost/hhtest.aspx', //仅为示例,并非真实的接口地址
data: {
keyword: InputStr //InputStr输入框的值通过keyword传递给服务器
},
header: {
'content-type': 'application/json' // 默认值,这里固定
},
success(res) {
that.setData({ hhOutPut: res.data }) // 成功后把她显示到结果区域
}
})
},
5、在VS中运行程序,并加断点。当点击按钮是发现程序会运行到断点处。即说明通讯成功
7、在刚刚断点处加处理。
protected void Page_Load(object sender, EventArgs e)
{
Int16 kw=0;
kw = 9;
string GetS = Request["keyword"];//从服务器接收到的数据
string SendS = GetS + " (已处理123)";//在尾部增加字符串
Response.Write(SendS);//返回给客户端
}
8、效果:
9、虽然已经看到成功字符串,但是后面多了一大串不需要的。
发现底下两段几乎一样,把它从VS的hhtest.aspx文件中删除即可
10、最终效果:
11、此时表示本地服务器测试访问OK,假如小程序上线,在外网是访问不到这个IIS服务器的。要访问到,有两个办法:
(1)、用花生壳软件,把自己点到的IP映射到外网,外网可以访问到本地的文件
(2)、租一台服务器,安装IIS后,新建网站后。把网站文件夹里的文件拷贝到服务器新建的网站上:(未测试过)
三、花生壳外网访问
官网下载花生壳,并按一下步骤配置
1、选择https,因为小程序里只能用这个协议。需要交钱(88元/年)。
http是6元/年,但是微信小程序不支持
2、就是花生壳分配给我们的域名,外网要访问本地,必须要访问这个域名:https://294k1p5882.qicp.vip/
3、外网端口,不用管,自己生成的。
4、内网主机IP,即当前电脑上网的网卡,的IPV4地址172.20.10.4。查看办法:cmd 窗口 ipconfig /all
5、内网端口:IIS配置第六步中配置的端口。上面填多少这里就要填多少。
6、保存
7、测试外网是否可以运行
(1)、用浏览器打开内网的网址http:// 172.20.10.4 可以看到网站文件夹里的文件
注:这里用的是http
(2)用浏览器打开:https://294k1p5882.qicp.vip/
看到的要跟前面一模一样。
(3)、把这网址https://294k1p5882.qicp.vip/ 发给其他手机后电脑,打开也要能看到一模一样的东西
8、若失败,则点这里:
9、会显示失败原因:下面显示正常,若失败,可以到官网直接联系客服,付费的账号,两个小时能得到回复。
10、整体原理
(1)、在计算机管理中新建一个网站保存到一个本地文件夹D:\webStudy\Web中,完成会在该文件夹中生成web.config文件,用http:// 172.20.10.4以浏览器的方式可以打开保存网站的文件夹(即在网页上可以看到web.config文件,若把其他文件也放在这个文件夹也是可以看到的)
(2)、用花生壳把http:// 172.20.10.4映射到外网,会生成一个域名https://294k1p5882.qicp.vip/,当以浏览器访问这个域名时,跟用http:// 172.20.10.4看到的效果是一样的
(3)、到这里为止,都跟微信小程序无任何关联,用VS打开在IIS中建立的网站,在网站你编写网站代码hhtest.aspx,这些文件会自动保存到D:\webStudy\Web中,供外网使用(只有这个文件夹可以通过域名访问) 后面小程序就可以通过外网访问到这个网站的代码hhtest.aspx做相关处理
四、再次配置小程序
1、把url从
http://localhost/hhtest.aspx
改成:域名 + / + hhtest.aspx 即
https://294k1p5882.qicp.vip/hhtest.aspx
2、到微信公众平台的小程序里配置小程序需要用到的域名:
3、确认配置成功:在开发软件中打开详情,看看刚刚在公众平台网站配置的域名有没有这里显示,若显示表示成功
4、打开合法性检验:这里的勾去掉
5、测试:要是能成功发回,则说明访问外网成功
6、上线是单单通过一个keyword ,也可以多参数请求。原理跟keyword一样,即C#服务器这边的Request里的字符串要跟微信网络请求里data下的一致。
小程序
C#
五、打包上线
1、上传代码:
2、打开微信公众号网站:会看到上传代码。点击提交审核。审核通过后,会在“审核版本”栏,出现成功结果,和以及全面发布按钮,再次点击发布按钮,它才算发布成功。一个月只能提交5次审核。免费的。
3、发布后,手机里不会自动有小程序,需要扫码推广。
4、扫描这个二维码即可
六、请求字符串长度限制
1、若请求长度过长:会报错请求的查询字符串大于所配置的值
2、解决办法:打开IIS创建的网页,并且找到“请求筛选”,并打开
3、打开编辑功能设置
4、把底下的几项都改大
5、然后重启网站
6、再次发送请求,可以通过
7、其实刚刚修改的那三个参数,会同步到web.config文件上的,也可以通过修改web.config来实现。
8、继续增大一次请求量,发现会报错:414 (Request-URI Too Long) 目前仍然没办法
9、服务器响应数据量较大,似乎限制少。可以返回很多数据。经过测试返回1M的文字都没问题。