这篇文章给大家介绍ASP.netcore中怎么实现一个Kestrel服务器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Kestrel WEB服务器的概述Kestrel被认为是较新的asp.net应用程序的首选Web服
这篇文章给大家介绍ASP.netcore中怎么实现一个Kestrel服务器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Kestrel被认为是较新的asp.net应用程序的首选Web服务器(请参阅这篇文章与IIS比较, why you need both)。它j机遇 libuv library,与node.js使用的库相同。Libuv支持事件驱动的编程风格。它的一些核心工具包括:
非阻塞网络支持
异步文件系统访问
计时器
子进程
它允许ASP.net core应用程序在其他跨平台的Web服务器(如Jexus,Nginx和Apache)上轻松运行,而无需解决不同的启动配置。通过使用Kestrel作为进程内服务器, 即使有跨平台支持,应用程序也将具有一致的处理(Startup (Main(), Startup.ConfigireServices(), Startup.Configure())
应用程序通常是为了响应人的行为而编写的。使用事件驱动的编程,有一个循环来监听事件。然后触发一个回调函数。为了减少SYS调用的数量,所有其他工作都在标准.net工作线程的托管代码中执行。
Kestrel提供了一个事件循环和基于回调的I / O通知。Libuv管理从操作系统收集和监视事件。此外,用户可以在事件发生时注册回调。所以,Kestrel使用libuv进行I / O工作,并支持运行多个事件循环。
由于它轻巧,Kestrel不允许你进行SSL termination,URL重写或GZip压缩,但是相同的轻量级设计使他比起其他服务器会更快。实际上,它比静态和纯文本操作的node.js快6倍。
Kestrel支持.net core支持的所有平台和版本。此外,它默认包含的ASP.Net Core新项目模板中,可以提供更好的请求处理的性能。在Visual Studio中创建新项目时,项目会自动配置为在Kestrel中运行。
如前所述,这不是一个功能齐全的网络服务器,但这正是为什么它很快。如果您觉得需要速度,Kestrel就是答案 - 特别是因为它被设计用于ASP.netcore的生产。
你可以做的是在一个功能更全面的网络服务器(如IIS或NGNIX)之后运行它。您可以使用HttpPlatfORMHandler在IIS 后面运行它,或者在Visual Studio 后面使用HttpPlatformHandler在IIS Express 后面运行它。而且,您需要在ASP.NET Core项目中支持它,以便开发人员可以在任何支持的平台上方便地运行它们。
现在,即使您不是跨平台的,也可以直接从web服务器命令行上运行ASP.NET。
由于Kestrel不是一个全功能的Web服务器,您应该让web程序在在IIS或NGNIX 之后运行(IIS;Jexus或者NGINX代理web程序,提供转发到Kestrel的形式工作)。它旨在使ASP.NET尽可能快,但其管理安全性和提供静态文件的能力有限。如果您使用的是Kestrel作为web服务器的ASP.NET Core,则 可以利用 Prefix来实现强大的代码分析功能。
关于ASP.NETCore中怎么实现一个Kestrel服务器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
--结束END--
本文标题: ASP.NETCore中怎么实现一个Kestrel服务器
本文链接: https://www.lsjlt.com/news/295488.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-07
2024-04-30
2024-04-30
2024-04-30
2024-04-29
2024-04-29
2024-04-29
2024-04-18
2024-04-17
2024-04-11
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0