c#webapi的发布

这篇文是因为第一次做api的发布而记的流程,希望不要有人像我这么踩坑(本意是要实现小程序的真机调试,api的发布是其中的一个环节)

一:准备好一个要发布的api项目

项目右键->发布
在这里插入图片描述
新建->选择文件夹
在这里插入图片描述
文件夹位置我没有改,在完成之后会自动在你的项目中生成这个发布文件夹,到时候IIS配置里面会用到这个路径
在这里插入图片描述
发布之后输出列表会显示发布成功

二:本地IIS配置和访问

首先你得启用了IIS(控制面板->程序与功能->启用或关闭Windows功能->Internet Information Services),不然直接搜索IIS是没有的
在这里插入图片描述
打开网站->添加网站->网站名称自己可以随便定义->物理路径选到你刚刚要发布的项目的物理路径(我这里是选到项目下的bin\app.publish),忘记标端口了,端口要改为和自己不冲突的,不要写默认80端口,其他就不要填了
在这里插入图片描述
确定即可

三:网站发布遇到的错

重头戏来了,bug环节,点击右侧的浏览,你可能会有如下错误(也是我的错)
在这里插入图片描述
第一个错,配置节500.19
在这里插入图片描述
管理员身份运行cmd,输入如下命令,会出现解除锁定

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

接着,我再次浏览网站又有了新的错误
在这里插入图片描述
在cmd窗口输入

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

他果不其然的出错了

C:\WINDOWS\system32>c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_regiis.exe -i 
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0 
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。 
版权所有(C) Microsoft Corporation。保留所有权利。 
开始安装 ASP.NET (4.0.30319.0)。 
此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服务器管理器”管理工具或 dism.exe 命令行工 具安装/卸载包含 IIS8 的 ASP.NET 4.5。有关更多详细信息,请参见 http://go.microsoft.com/fwlink/?LinkID=216771。 
ASP.NET (4.0.30319.0)安装完毕。

在网上看到有人说要启用windows功能里面的如下.net框架。我其实感觉问题不出在这,因为我用到不就是4.0以上版本吗?关3.5啥事,但是我还是试了,后面成功也不知道和这步有没有关系
在这里插入图片描述
众所周知,事情是没有这么简单的,问题依然存在,但是我找到了一篇博文,很感谢他。
利用dism工具,执行以下命令(就是在管理员身份在cmd中运行以下命令)

dism /online /enable-feature /featurename:IIS-ISAPIFilter
dism /online /enable-feature /featurename:IIS-ISAPIExtensions
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45
dism /online /enable-feature /featurename:IIS-ASPNET45
 

在安装过程中可能遇到类似于
在这里插入图片描述
就先开启下错误最后给出的服务,上面报错,就先开启NetFx4Extended-ASPNET45
在这里插入图片描述

之后就能愉快的使用了,嘿嘿
在这里插入图片描述
希望我的文章可以给你带来帮助,江湖再见!

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值