asp.net-core - 在 Kestrel 实例之间共享服务
问题描述
是否有一种机制可以共享在单个进程中运行的 2 个 Kestrel 服务器之间注册的服务依赖项?
我真的想在一个端口上隔离一些后端支持端点,而主应用程序在另一个端口上运行。
据我所知.UseUrls("http://*:80", "http://*:8080")
,会为同一个 Kestrel 实例和 HTTP 管道公开 2 个端口,这并不是我想要的。
给定这样的结构
Kestrel on :80
/api/... - normal api
/ping - liveness checks
Kestrel on :8080
/health - health checks
/metrics - metrics
我知道我可以有一个共享Configure(IServiceCollection serviceCollection)
方法来注册公共部分,但是IServiceCollection
会产生一个完全独立的IServiceProvider
.
我想为两台服务器注册服务以从同一个根使用IServiceProvider
但具有不同的 HTTP 管道/端点配置。
这可能吗?
解决方案
推荐阅读
- sorting - Kotlin - 按 id 和 parentId 对对象列表进行排序
- python - 如何运行我在 GitHub 上找到的这个 Python 项目?
- c# - DataGrid 选择的行以编程方式丢失颜色设置
- c++ - C++:使用 Clion 和 MinGW 和 g++ 编译器构建项目时出现 Cplex/cp 优化器生成文件问题
- emacs - Orgmode 将二级标题导出为枚举
- java - 在 Android Studio 中使用 SQLite 时出现“没有这样的列:id”
- javascript - 来自外部范围的 Javascript 函数
- java - Pure vs Impure 方法 ES6 类。我应该传递值还是应该将它们存储在对象中
- css - CSS:按钮在包含换行文本时得到偏移
- wordpress - 在 WP 中显示带有帖子的当前类别和带有帖子的子类别