asp.net-mvc – 服务层是否可以访问HttpContext?

我正在构建一个大致遵循存储库模式的应用程序,其上方具有服务层,类似于早期版本的Conery的MVC Storefront.

我需要实现一个返回除当前用户之外的所有用户页面.我已经在存储库和服务层上有GetUsers()方法,所以问题是应用“除了当前用户”之外的哪里.

服务层应该知道HttpContext,应用这个规则吗?我试图将当前用户(id)从控制器传递给这种服务方法,但是如果服务层是HttpContext感知的,并且可以自己完成,这似乎更清晰.

一个明显的替代方法是直接在控制器中应用这个规则,但我只是不太热那个想法…

编辑 – 只是为了评论答案:我看到反向依赖问题的问题,我完全忽略了.我正在将Mehrdad标记为答案,但每个人都真的提供了值得阅读的宝贵回应!

解决方法

绝对不.我在设计这些东西时的心态就是这样:我认为我需要和Web应用程序一起编写一个基于 Windows的应用程序,并尽量减少对Web特定内容的依赖.直接传递HttpContext将增加您的服务层与您的Web UI层的耦合,这不是理想的.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....