小欢

Asp.net core webapi部署IIS过程详解,以及坑点介绍和解决坑点方法

电脑版发表于:2020/5/13 16:27

这几天做了一个Asp.net core 3.0的webapi小练习,只有简单的增删改查,做好了以后又去对应的部署IIS,因为之前也发布过一些项目在我的服务器上,想玩水果机的可以去我的服务器上面玩我这里给个地址(兼容性没更新但是可以体验到功能,所以体验体验就好)水果机地址:http://116.62.51.59:8082/zhuye.aspx。

       好了我们回到正题,之前呢接触的都是Asp.net Framework的项目部署和发布,本以为都是一样的,就正常的执行了,然后你会惊喜都收到数字(500)如下图,


刚刚开始去看了一下web。因为检查的时候报了个xml文件格式错误什么的,看了也改了,但是并没有什么效果,这个不看不知道,一看很多人都遇到这个问题,但是大部分文档都没有解决到问题,都不是在点上,这时候我尝试去web里面配置了一下,但是结果也是没有用,后来在自己苦苦寻找后,终于正常的没有了500的出现,执行过程如下:

1.修改对应的应用程序池.NET CLR为 无托管代码

2..NET Core并非由IIS托管,其属于自托管,需要下载AspNetCoreModule托管模块,下载安装AspNetCoreModule,安装完成好像不用重启IIS ,下载对应的插件地址:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.3-windows-hosting-bundle-installer

过程:


效果如下图:

没错,出现了新的问题,数据接口请求异常,这里大致是你服务器的数据库权限的一部分原因,这里又要到你的服务器里去配置用户去调节,首先找到对应的库,点击-安全性-用户,在用户这里创建添加,过程如下:


1 System.Data.SqlClient.SqlException (0x80131904): 用户 ‘IIS APPPOOL\ZyPcyWebApi’ 登录失败。 

解决方案:右键应用程序的应用程序池,高级设置,看到有一个节点叫“进程模型”,修改标示一项,为 LocalSystem

2 还是报错,NT AUTHORITY/SYSTEM 无法打开登录数据库 

这时,需要在 连接的数据库下,进行设置和分配权限 

在“自己的”数据库下->安全性>用户>右击(新建用户)>登录名(选择’NT AUTHORITY/SYSTEM’ )>然后选择对应的角色成员(注意权限),确定,确定。就OK了。 

 

在拥有的架构、成员身份两个菜单,勾选上 db_owner 然后保存,在iis中重启应用程序,程序可以正常访问



                                                     

然后效果展示如下:

终于是搞定了部署的问题,说实话我不知道为什么那么坑,但是好在克服了,接下来我会用控制器去访问接口数据对数据处理,我后续会更新文章来详解,对应的webapi的数据接口过程后续也会更新,那今天就到这里了,小声bb一句,程序员掉头发虽然不是绝对的,但是是有风险的,哈哈,趁我现在有头发还能嚣张一会,我倒是想和我的头发不离不弃的,不知道它们想不想,哈哈。


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢