需求:通过C#生成WebAPI,供微信小程序调用以访问本地数据库(微信小程序部分下次再说,今天先记录一下C#生成WebAPI相关的坑与注意点)。
数据库:SQL Server
Web服务器:IIS
编程语言:C#
IDE:VS2019
准备工作:配置安装IIS
注意事项:不要一次性全勾完,否则很有可能安装失败。
建议先找到.NET Framework 勾选默认复选框,等其安装完成(这个过程需要联网支持下载文件)后再安装IIS。
Tip:命令行输入 inetmgr 可以快速切到 IIS
添加网点,配置虚拟目录即可。( 因为 80、8080为常用的端口,所以我配置IIS时端口就默认 1114 。)
参考资料:
win10安装配置IIS的教程_泊云V的博客-CSDN博客_win10iis
c#配置安装IIS管理器_是五月吖的博客-CSDN博客_c# iis
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。"解决方法..._chubosheng0951的博客-CSDN博客
(3条消息) 【学习笔记】IIS 部署webApi 报500.19 解决方法_没什么好听名字的博客-CSDN博客
一、创建WebAPI
注意事项:框架要选到4.5
这里值得多提一句,MVC项目可以用MVC5控制器,WebAPI项目推荐选择Web API 2控制器。如果不确定怎么写可以先选 -空 后面再添加EF数据实体。
本地服务器输入 . 即可
对数据实体操作
直接查找整个表
- public IHttpActionResult Getem()
- {
- var list = db.SAP_EMPBAS.ToList();//直接查找整个表
- return Json(list);
- }
参考资料:
C# 搭建一个简单的WebApi项目_YuanlongWang的博客-CSDN博客_c# webapi项目
C# WebAPI创建及具体实现_FenfsfDensting的博客-CSDN博客_webapi创建
vs2019 添加ado数据模型步骤_fighting18的博客-CSDN博客
【2021-04-11】VS2019添加新建项,没有 ADO.NET实体数据模型_六月雨的皮卡丘的博客-CSDN博客
VS2017用EF+WebApi做一个简单的增删改查_氏张的博客-CSDN博客
二、发布
注意事项:不要删除现有文件
接下来可以选择测试工具postman,不过我们写的比较简单,所以选IE浏览器(Microsoft Edge)输个url就差不多可以看出效果了。
正常运行界面如下。
之前查找整个表数据的Getem(这里api是固定的,因为我生成的是API控制器,后面的EmpBas是我创建的控制器名称,最后一个是刚写的Get接口)
接着是传一个简单参数的接口:
- [HttpGet]
- [Route("api/EmpBas/Getom")]
- public IHttpActionResult Getom(string Empyno)
- {
- var list = db.SAP_EMPBAS.Where(a=>a.EMPYNO==Empyno);
- return Json(list);
- }
发布后的效果
最后,项目源码见主页下载资源(仅供参考,很多都是官方自带的设定)