views 多个文件夹 netcore_.NET Core中的使用Kestrel服务器理解及应用

Kestrel是一个基于libuv的跨平台.NET Core web服务器,libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。

Kestrel支持以下功能:

  • HTTPS

  • 用于启用不透明升级的WebSockets

  • 位于Nginx之后的高性能Unix sockets

Kestrel 被.NET Core支持的所有平台和版本所支持

何时使用Kestrel和反向代理服务器

如果你的应用只接收来自内部网络的请求,你可以只使用Kestrel本身

a66ef960f77b3271f21338ca3b8e3716.png

如果你将你的应用部署在公共网络上,我们建议你使用IIS,Nginx或者Apache作为反向代理服务器。一个反向代理服务器接收来自网络的HTTP请求并且在经过一些初步处理后将请求传递到Kestrel服务器。

1842ccf63ac50f33b380d21753493046.png

出于安全性的理由,反向代理常常被edge deployments所采用。因为Kestrel相对较新,对抵御安全攻击至今还没有一个完整的功能补充。安全性处理包括但不限于适当的超时,大小的限制,以及并发连接限制等问题。

另一个需要反向代理的场景是,你有多个需要在单独的服务器上运行并分享同一端口的应用。因为Kestrel不支持在多进程间分享同一端口,所以应用并不能直接和Kestrel合作。当你在某个端口上配置Kestrel运行侦听时,不算主机头如何标识,Kestrel会为该端口处理所有的流量。反向代理可以为多个应用共享唯一端口并将流量发送给Kestrel。

即使不需要反向代理服务器,使用它也可以简化负载均衡和SSL设置 -- 只要你的反向代理服务器需要SSL证书,并且该服务器可以和你的应用在内部网中通过普通HTTP进行通信。

我们通过代码看一下:

  Kestrel是一个基于libuv的跨平台web服务器

  在.net core项目中就可以不一定要发布在iis下面了

 Kestrel体验

 8cd2ad53c04095d04e323d3f6fe9b88b.png

 可以使用useUrls来设置一个请求的地址

 vs2017中运行可以直接选择项目,而不选择iis

  d2c5b8c56169cf10dc8f1f0e7dd63792.png

  或者直接使用命令在运行

  在文件夹中打开,在项目中program.cs的位置打开命令行

 06fc7cd6db14048537572af2364ccdb5.png

 先执行dotnet build 编译一下项目

 62f8fa12cc5c68fe39958ad10379b90d.png

 然后执行dotnet run启动项目

  e95bc68bc4a0c5003c47b476b67b3b65.png

 当然那个编译的命令也可以不执行,项目生成一下就好

 就可以直接访问了

bfb2b9e00819e79e893ed9f4fb178dac.png

更多技术请关注

7cd88787b7d31fe7eb4852bbe036935e.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用PowerMock测试对象的内部状态

大多数单元测试都集中于测试对象的行为以证明其有效。 这可以通过编写一个JUnit测试来实现,该测试调用对象的公共方法,然后测试这些调用的返回值是否与先前定义的一组期望值匹配。 这是一种非常常见且成功的技术。 但是,不应忘记对象也显示状…

布局

1)ul li 把ul宽度设置大一点,然后overflowhidden;(最好不要嵌套使用,原因看清除浮动方法),然后外面必须有包裹的div壳,div壳的宽度就按设计稿来,这样就避免了需要给最后一个li设置m…

10个职场故事,让人不得不看

1、强盗师徒 有一次,一个老强盗带着徒弟去抢劫银行,被警方追捕。两人狂逃,差点儿连裤子都跑掉了。好不容易甩掉了警察,两人上气不接下气,瘫倒在地上。 良久,惊魂稍定,徒弟说:“师父啊师父&#…

NXP UWB NCJ29D5开发(一)环境搭建

1、从NXP的共享账号下载资料 共享账号需要找对接的NXP人员拿到,他会把资料分享到这个账号,在这个账号里面可以下载 进入nxp官网,登录后点击my nxp,选择Software Licensing and Support 进入后接着选择View accounts 进入后选择…

西瓜创客python编程进阶收费_西瓜创客和编程猫有什么不同?哪个更值得报名?...

看情况来决定即可,在课程内容上其实出入我觉得不是很大,重点是教学服务、师资、授课模式等,单纯我自己的角度来说,我个人偏向于西瓜创客多一点,他们家的课程更具有趣味性,游戏化教学,融入卡通人…

Stack的三种含义

作者:阮一峰 学习编程的时候,经常会看到stack这个词,它的中文名字叫做”栈”。 理解这个概念,对于理解程序的运行至关重要。容易混淆的是,这个词其实有三种含义,适用于不同的场合,必须加以区分。…

NXP UWB NCJ29D5开发(二)BlinkyLed例程

路径为UWB\NCJ29D5\NCJ29D5_CAS_Examples_v1.4\onic\BlinkyLed\toolsupport\keil 例程怎么来的可以看看上一篇NXP UWB NCJ29D5开发(一)环境搭建 1、 //系统选择外部晶振,时钟频率为55.2Mhz phscaAppHal_Init(PHSCA_APPHAL_XO_CLOCK_SOURCE_…

你要看透的56条人生哲理

当你踌躇不前、站在人生十字路口时候,这56条哲理或许能助你一臂之力!      1.拿得起,放得下      我们每个人都有很多“宝贝”,但你不可能什么都得到,在某些时候一定要学会拿得起,放得下…

使用Spring和Java泛型简化数据访问层

1.概述 本文将着重于通过对系统中的所有实体使用单个通用的数据访问对象来简化DAO层 ,这将导致优雅的数据访问 ,而不会造成不必要的混乱或冗长。 2. Hibernate和JPA DAO 大多数生产代码库都有某种DAO层。 通常,实现范围从没有抽象基类的多个…

强肝保肝养肝4大食物

“强肝的食物,保肝的食物有哪些,养肝的食物有哪些”如果您对这些食物不了解不明白。那就看看专家为您推荐的四款强肝保肝养肝的食物。荔枝(供图/华盖)一、是荔枝,荔枝可以保肝,对肝有好处根据《本草纲目》记载荔枝有强肝健胰的效果…

如何查看注解实现_该怎么运用注解呢?Java团队元老有话说

来源 | 异步 15讲能学好诞生24年的JAVA吗?你当然会感到怀疑,众所周知,在技术向的IT论坛上,“如何在十天之内快速掌握好Java?”这类问题,往往会招来嘲笑。来源于知乎但在当下,5分钟能看完一部电影…

NXP S32K144开发(一)环境搭建和新建工程

1、首先需要安装S32 Design Studio for ARM,在NXP官网可以搜索到,这玩意也是基于eclipse的 安装好后就可以打开了。 2、新建工程 过程可以参考NXP官网: https://www.nxp.com/document/guide/get-started-with-the-s32k144evb:NGS-S32K144E…

首先记录异常的根本原因

Logback日志库的0.9.30版本带来了一个很棒的新功能:从根(最内部)异常而不是最外部异常开始记录堆栈跟踪。 当然,我的兴奋与我贡献了此功能无关。 用塞西尔德米勒(Cecil B. de Mille) 的话来解释&#xff1a…

成功醒言

成功醒言 C01 只有敢犯错误的人才能成事; 只有不犯同样错误的人才能成大事。 C02 固执≠执著; 幻想≠希望。 固执是无目标的执著; 执著是有目标的固执。 幻想是无法兑现的希望; 希望是有望实现的幻想。 固执地执著幻想&#xf…

Android 中的 Service 全面总结

1、Service的种类 按运行地点分类: 类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不…

python基础学习1-三元表达式和lambda表达式

#!/usr/bin/env python # -*- coding:utf-8 -*- 三元运算 if else 的简写name "alex" if 11 else "SB" #如果条件成立 赋alex 否则 赋SB print(name)#--------------lambda表达式 f2 lambda a1,a2:a1a2100 #等价 下边函数定义 def f1(a1,a2): return …

怎么让存储过程通用化_怎么做分布式存储的面试?

cholerae 大神已经做了详细回答,http://zenlife.tk/interview-for-distributed-storage.md写于几年前,内容有点稚嫩,WAL辨识度很高, 其他问题一般.CAP不会再问了,专业的存储文献中很少(几乎不)提及CAP或PACELC, 这个词用于市场和销…

Java EE中的配置管理

我尝试配置管理在云计算中具有很多相关性 争论 较早。 实际上,我大胆地宣称配置管理是任何认真尝试从软件中节省几美元的基石。 那么什么是配置管理及其主要目标? 在不使事情变得过于复杂的情况下,我认为接下来的两个目标与事实相差不远。 以…

十年总结,一个JAVA人的十年人生路

十年总结-开篇:歇一歇,才能走的更远经常见坛子里有人问,学习java该如何入手,或者是该学java还是学XX语言。我一直觉得,编程跟语言关系不大,重点是要有解决问题的思路。学习一门语言,其实只是寻求…

(四)Qt实现自定义模型基于QAbstractTableModel (一般)

Qt实现自定义模型基于QAbstractTableModel 两个例子 例子1代码 Main.cpp #include <QtGui>#include "currencymodel.h"int main(int argc, char *argv[]) {QApplication app(argc, argv);//数据源QMap<QString, double> currencyMap;currencyMap.insert(…