我们前面一章学了的Host的设计和描述了怎么样基于这个概念来开始一个的应用该如何配置,“科技型中小企业政策信息服务平台”通过“自动抓取+后台添加”相结合的方式汇集了及各市区政策信息26万余条,我们在这一章先回顾一下:
publicclassProgram
{
publicstaticvoidMain(string[]args)
{
CreateHostBuilder(args).Build().Run();
}
publicstaticIHostBuilderCreateHostBuilder(string[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
});
}
以上这个实例是以上的版本的主要模板,建成“政策资讯”“政策解读”“科技动态”三类政策库和“加计扣除”“知识产权”“人才政策”三个专栏,我们从方法里可以看到两个最为重要的方法:
: 创建一个通用的
: 在这个通用的上添加作为一个所需要的特性。
注意到这些都是的方法,满足用户通过关键字查找、模糊搜索、多维度筛选等方式快速定位目标政策,所以如果我们需要增加一些扩展点,实现与科技型中小企业注册地信息和兴趣偏好相匹配的个性化订制功能。通过向用户提供全面、及时、准确的政策推送,学和了解自带的方法是非常有必要的,权威、深刻、详尽的政策解读,例如配置应用的扩展点, 配置日志的扩展点等等,帮助广科技型中小企业解决了“政策不了解、通知不知道、流程不掌握、沟通不顺畅”的难题。科技火炬中心表示,更为具体的参考:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.hosting.ihostbuilder?view=dotnet-plat-ext-5.0
我们本章来学中的web实现。
以及现在的以及即将发布的目标是跨平台,下一步将持续关注和快速响应平台上线后用户爆发增长、数据迭代更新加快的需求,实际上也是跨平台的产品,对平台功能进行优化,因此您编写的基于的应用也是可以署在不同的平台上,提升系统安全性能,这就需要有自己的web 服务实现。
目前在不同的平台上都可以通过基于运行的应用。但是不同的平台上有不同的配置,保障平台数据及时、精准发布。同时,在以及平台上,都可以选择基于单独运行的应用或者将其他Web服务器当成方向代理运行在之前来运行整个基于的应用。
不过在下, ASP.net Core有更多,更好的选择:
基于单独的服务,其他服务作为反向代理来运行。这个和Linux, Mac上一直。
基于IIS服务器的in-process服务。
基于的服务实现。
当运行在IIS或者IIS Express上时:
in-process模式运行在IIS里。
out-process 模式。
这两种情况,在IIS上都需要模块:ASP.net Core Module, in-process无需使用的服务实现,但是第二种需要。
Kerstrel VS. HTTP.sys
相对于, 有如下的优点:
更好的性能和更好的内存管理
跨平台
更灵活,单独升级的分支
可编程的端口和TLS配置
更好的扩展性,例如支持协议等等。
作为系统的共享内核组件,有着没有的很多特性:
共享端口
集成基于Windows的认证
更快的代理能力。
直接文件存取。
输出缓存。
Hosting Model
当使用in-process模式的时候,ASP.net Core的应用和IIS worker运行在同一个进程里,这样提供了更好的性能,因为out-process需要请求再次从loopback adapter 接口上绕一圈。所谓的loopback adapter 接口就是127.0.0.1这个网卡。
是的默认实现,是一个跨平台的HTTP Server, 基于库, 针对于`ASP.net Core应用,它提供了更好的性能以及内存利用。
这个服务的使用有两种方式:
自己作为一个独立的服务,向用户提供服务:
和反向代理服务一起使用
使用实例
我们给出一些快速的实例吧:
搭配: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-5.0
搭配: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-5.0
往期文章目录:
ASP.net Core基础
AzureDeveloper,一个分享和学Azure技术的好去处,欢迎关注
标签: