VS Code WebApi系列——3、发布
上两篇已经实现了WebApi及基于jwt的Token设置,那么功能做完了,该发布WebApi了。为什么要对发布进行一下说明呢,因为是基于vscode和.netcore的发布,所以可能会遇到莫名奇妙的问题。
第一步,vscode的发布
打开vscode,四下查找,希望能够找到一个publish按钮或功能区,结果,很明显失败了。所以想起来vscode是个文本编辑器,肯定在命令行里有命令,那就命令行吧。
在终端中打开,输入
dotnet publish -h
猜对了,至少这有命令和帮助,如下图
那这个命令简单了
dotnet publish -f netcoreapp3.1 -c release -o D:\Develop\FeyeUav\FeyeUav.Iaas.Dap\Deploy\WebApiSite
见到这个运行结果,那么恭喜发布成功

第二步,iis的配置和网站添加
打开IIS,启动或关闭IIS功能,要启动以下如图所示的功能(Win10系统)
.NET 3.5和4.8全选

IIS服务器选项全选

确定,稍等一会,然后在搜索框中输入IIS

在IIS网站列表新建一个网站,物理路径配置为刚才发布的文件夹,注意修改端口到自己希望的端口号

确定之后就完成了网站的创建,但是要设置一下应用程序池,双击对应条目

将应用程序池修改为无托管代码,确定即可

第三步,填坑
都配置完了,用postman测试一下吧

毫无疑问,出问题了,看看详细错误吧

错误很明显,谓词过滤程序不允许使用这个http谓词,但是提示的是不允许post,发出的请求是get呀,再仔细看看后面的错误提示原来WebDAVModule挂了,那就把你干掉!
打开网站所在路径的web.config文件,添加移除模块的配置项

再次测试

又错了,具体信息

这一下就看到了,肯定是WebDAVmodule添加又被忽略了,打开配置仔细看

添加了这个模块,下方又要移除,网站不知道该如何处理了,好了,注释上方的配置项,重启网站,再次测试。

Bingo,久违的Token又出现了。

所以今天的任务又完成了,下楼喝酒撸串去吧
VS Code WebApi系列——3、发布的更多相关文章
- VS Code WebApi系列——2、jwt结合数据库校验
Knowledge should be shared free. 我们都知道WebApi最重要的作用就是为外部服务提供相应的数据接口和服务,所以一般WebApi都会连接后台数据库,那么最重要的一件事就 ...
- VS Code WebApi系列——1、配置
Knowledge should be Shared in Free. 最近在研究VS code下的webapi,看了很多文档,还是微软官方的例子好,不过不太适应国人习惯,所以写点东西. 直接了当 开 ...
- 【WebApi系列】浅谈HTTP
[01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi如何传递参数 [04]详解WebApi测试和PostMan [05]浅谈WebApi Core ...
- 【WebApi系列】浅谈HTTP在WebApi开发中的运用
WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...
- WebApi系列知识总结
WebApi系列知识 一.webApi项目搭建 1.新建WebApi项目 (1) (2) (3) (4) Areas – HelpPage – App_Start – HelpPageConfig.c ...
- WebApi系列~目录
回到占占推荐博客索引 写了这个系列的文章不少了,也应该为大家写个目录了,最近很刮了很多SOA的风,很多企业都将自己的系统进行分割,通常是按模块进行拆分,为这个模块提供统一的接口提供业务服务,这不紧可以 ...
- 1.什么是Code First(EF Code First 系列)
EF4.1中开始支持Code First .这种方式在领域设计模式中非常有用.使用Code First模式,你可以专注于领域设计,根据需要,为你一个领域的对象创建类集合,而不是首先来设计数据库,然后来 ...
- MVC 之 WebAPI 系列二
今天,我想在此记录下 WebApi 跨域调用 1. 什么叫跨域: 跨域问题简单理解就是JavaScript同源策略的限制,其根本原因是因为浏览器对于这种请求,所给予的权限是较低的,通常只允许调用本域中 ...
- Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...
随机推荐
- 【项目练习】thinkphp用户注册
使用mvc,ajax 路由 //后台登陆 Route::group('admin', function () { Route::rule('login', 'admin/Index/login'); ...
- Java 在PPT中创建SmartArt图形、读取SmartArt图形中的文本
一.概述及环境准备 SmartArt 图形通过将文字.图形从多种不同布局.组合来表现内容和观点的逻辑关系,能够快速.有效地传达设计者的意图和信息.这种图文表达的视觉表示形式常用于PPT,Word,Ex ...
- java中String转换成json,json转换成String
前置添加pom <!-- 配置gson --> <dependency> <groupId>com.google.code.gson</groupId> ...
- 谈谈MySQL 索引
1.索引是什么 索引(Index)是帮助MySQL高效获取数据的数据结构.我们可以简单理解为:索引的目的在于提高查询效率. 2.原理 索引的数据结构是B+树,原理图如下 关于B+树的详细介绍,可以参见 ...
- 我天!xx.equals(null) 是什么骚操作??
问题背景 我的天,最近做 Code Review 看到一个同事的骚操作,他写了一个工具类,大概是这样的: public static boolean isNull(Object object){ re ...
- GNS3内网通过cloud与实际网络实现互连互通的实验(使用环回网口)
一.背景: 在GNS3内构建一个测试网络,该测试网络的设备能够通过cloud访问外部网络设备和Internet网,外部网络也能直接访问GNS3内网的设备. 考虑通过cloud上的环回口连接GNS3内网 ...
- 点击label时text输入框被选中
当点击label标签时,能够选中与其对应的输入框,有2种方式,采用第一种时会产生太多的id,推荐第二种. <form action="03.php"> <labe ...
- 微信小程序单选按钮radio选中的值value的获取方法,setTimeout定时器的用法
获取radio值的方法: func:function(e){ var val=e.detail.value;//获取radio值,类型:字符串 var val2=parseInt(val);//将字符 ...
- Java实现 蓝桥杯 算法提高 字符串匹配
试题 算法提高 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时 ...
- Java实现 LeetCode 639解码方法 2(递推)
639. 解码方法 2 一条包含字母 A-Z 的消息通过以下的方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 除了上述的条件以外,现在加密字符串可以 ...