【引言】
好几天没更新博客了,今天来分享一下WebAPI+EF6+MySQL+iis配置详解,从此不再踩坑!
【常见问题】
1、无法引用EF6
提示信息:您的项目引用了最新版实体框架,但是,找不到进行数据连接所需要的鱼此版本兼容的实体框架数据库提供程序。
【WebApi黄金组合】
为解决以上问题,建议采用如下配置:
1、EntityFramework v6.1.3
2、EntityFramework.zh-Hans v6.1.3
3、MySql.Data v6.9.12
4、MySql.Data.Entity v6.9.12
5、mysql-connector-net-6.9.12.msi
6、mysql-for-visualstudio-1.2.7.msi
7、mysql-connector-odbc-8.0.12-winx64.msi
以上1-4在NuGet里面自行下载安装,5-7我会打包给大家下载使用:
链接:https://pan.baidu.com/s/1RoI4XfT_NmhdRogsxwNudw提取码:ls3k
具体如何安装这个就非常简单了,不再细说,安装完成之后最好重启一下系统。
【iis配置】
1、创建网站
网站名称:随意写即可,这里我就直接写webapi了,注意右边的应用程序池默认和网站名称一样,会自动创建,如果想选择别的程序池也可以,这里先默认。
物理路径:这里是webapi程序的根目录,自己新建一个文件夹选中即可,文件夹的名字最好用英文
IP地址:这里我就用默认的局域网IP了,如果你有自己的域名在下边主机名那里填写域名,这样的话IP地址这一栏就不用填写了。
端口:端口号这里默认的是80端口,我任意改了一个5002端口。
平时我们访问网站默认的都是80端口,例如http://www.anquanrensheng.com:80 与http://www.anquanrensheng.com是一样的,只不过为了方便,大家都用80端口干脆就省略不写了,但是如果你换了一个端口,那么必须要写上,如http://www.anquanrensheng.com:5002
注意:项目文件夹也就是这里的D:\ceshi目录给一个 Everyone权限,或者Authenticated Users的只读权限
2、那么问题来了,是不是任意一个端口都可以呢?当然不是,前提是你设置的这个端口在服务器上没有被其它程序占用,并且在防火墙那里设置了出入站规则才可以使用
打开控制面板-系统和安全-windows防火墙-高级设置,点击入站规则-新建规则
选择端口,点击下一步
输入5002,点击下一步
选择允许连接,点下一步
随便给个名称,点击完成
入站规则已建好
再去建立出站规则,同入站规则几乎一样,记得选择允许连接,端口号为5002即可。
3、配置应用程序池
点击应用程序池,选择webapi,选择.NET Framework v4.0.30319,默认是2.0的,没有4.0,需要安装一下.net 4.5版本,安装好之后在这里显示的就是4.0,也就是说这里的4.0代表的就是你安装的4.5
托管管道模式选择“集成”
4、点击右上角:设置应用程序池默认设置
标识这里选择“LocalSystem”点击确定。
重启IIS,api就能够访问了~