目录134. 托管Kestrel、IIS、反向代理场景135. InProcess vs OutOfProcess 托管模式136. 健康检查Health Checks137. 日志记录Logging138. 性能调优Performance Tuning缓存与压缩139. 多线程与并发Threading / Concurrency / Deadlocks140. 内存泄漏与依赖释放Memory Leaks Disposal141. 可扩展性Scalability142. 部署Deployment143. 监控、指标与追踪Monitoring, Metrics, Tracing144. 安全最佳实践Security Best Practices145. 中间件Middleware146. 响应缓存与输出缓存Response Caching / Output Caching147. 分布式缓存与会话状态Distributed Caching / Session State148. SignalR实时通信149. 后台任务与托管服务Background Tasks / Hosted Services150. 文件与流处理Files Streaming151. .NET 版本与新特性Version Updates上一篇134. 托管Kestrel、IIS、反向代理场景Kestrel是 ASP.NET Core 的默认跨平台 Web 服务器轻量且快速。IIS在 Windows 上作为反向代理将请求转发给 Kestrel。反向代理可提升安全性管理 SSL进行负载均衡。在 Linux 上通常使用Nginx或Apache作为 Kestrel 的反向代理。135. InProcess vs OutOfProcess 托管模式InProcess 模式应用在 IIS 的工作进程w3wp.exe中运行性能更好。OutOfProcess 模式应用在独立进程中运行IIS 作为代理转发请求。自 ASP.NET Core 3.0 起默认采用 InProcess 模式进行 IIS 托管。136. 健康检查Health Checks提供用于报告应用健康状态的 HTTP 端点。使用包Microsoft.AspNetCore.Diagnostics.HealthChecks。可配置数据库、外部服务、依赖项等检查项。常用于 Kubernetes、负载均衡器的健康探测。137. 日志记录LoggingASP.NET Core 内置日志系统提供多种日志提供程序Console、Debug、EventSource。第三方库如Serilog、NLog提供结构化日志和丰富的输出管道Sink。可通过appsettings.json或代码进行配置。138. 性能调优Performance Tuning缓存与压缩内存缓存In-Memory Caching将数据存储在服务器内存中加快访问速度。分布式缓存Distributed Caching使用Redis、SQL等外部存储支持多服务器。响应压缩Response Compression使用Gzip或Brotli中间件减小响应体积。139. 多线程与并发Threading / Concurrency / Deadlocks避免在异步代码中使用阻塞调用例如.Result、.Wait()以防死锁。正确使用async/await模式。使用锁lock或并发集合ConcurrentDictionary等保护共享数据。调整线程池参数可防止线程饥饿。140. 内存泄漏与依赖释放Memory Leaks Disposal未正确释放IDisposable对象会导致内存泄漏。正确使用依赖注入生命周期Scoped / Transient / Singleton。注意静态引用、事件未解绑等导致对象无法回收。可使用dotMemory、PerfView等工具分析内存。141. 可扩展性Scalability设计为无状态Stateless应用使任意实例可独立处理请求。使用分布式缓存或外部会话存储来共享状态。通过负载均衡器分发流量到多个实例。142. 部署Deployment使用 Docker 容器化应用实现一致性部署。使用 Azure App Service 或 Azure Kubernetes ServiceAKS进行云端托管。配置 CI/CD 管道GitHub Actions、Azure DevOps实现自动构建与部署。143. 监控、指标与追踪Monitoring, Metrics, Tracing监控应用健康状态、请求指标与错误日志。使用 OpenTelemetry 实现分布式追踪Distributed Tracing。可与 Application Insights、Prometheus、Grafana 等集成。144. 安全最佳实践Security Best Practices强制启用 HTTPS。使用防伪令牌Anti-Forgery Token防止 CSRF 攻击。对输入进行清理以防止 XSS。遵循 OWASP 安全开发指南。145. 中间件Middleware使用 Response Compression Middleware 压缩响应。使用 Response Caching Middleware 缓存 GET 请求响应。中间件可按管道顺序组合形成分层处理逻辑。146. 响应缓存与输出缓存Response Caching / Output CachingResponse Caching 根据响应头缓存 HTTP 响应。Output CachingASP.NET Core 7 新增可缓存整个端点输出内容。147. 分布式缓存与会话状态Distributed Caching / Session State在多服务器环境下使用Redis或SQL Server作为分布式缓存/会话存储。避免依赖“黏性会话”Sticky Session提升可伸缩性。148. SignalR实时通信实现实时双向通信客户端与服务器。支持 WebSockets、Server-Sent Events、长轮询Long Polling。149. 后台任务与托管服务Background Tasks / Hosted Services通过IHostedService或BackgroundService实现后台任务。常用于定时任务、队列处理、消息消费等场景。150. 文件与流处理Files Streaming使用FileStreamResult高效地流式传输大文件。使用异步 IOasync避免阻塞主线程。151. .NET 版本与新特性Version Updates关注最新的改进例如 Minimal APIs、Source Generators、性能优化等。保持 SDK 与依赖的最新版本。引入地址