我对调解员模式的误解是什么?

时间:2019-08-06 19:59:12

标签: asp.net asp.net-mvc-5 mediator clean-architecture mediatr

我是新来的,还是初学者。我正在帮助我工作的公司设计新产品,自从开始以来,我读了很多,但还远远不够。

我决定使用Mediator Pattern(与Mediatr一起)来调用我的应用程序层。 太酷了,我有时会知道如何使用它,但有时我会感到困惑。

例如,当我们在新产品上发布文档时,我们使用RequestHandler来完成所有工作并检查其所需的所有规则,这很好并且可以像吸引人一样工作,但是,当我想要快速数据,看起来太简单了。

作为一个例子,每当用户对我的Web应用程序执行任何操作时,我都必须检查他是否仍在登录。我们每个用户只有一次登录,因此,如果同一用户在其他任何地方连接,则旧会话将过期。我们通过保存在数据库中来做到这一点。

在我应用程序的每个操作中,我都会检查并检查会话密钥是否与下面相同。

var sessionKey = bibliotecaCookie.Value;
var mediator = controller.GetMediator();
var isUserSessionKeyValidRequest = new IsUserSessionKeyValidRequest() 
{
    sessionKey = sessionKey
};
var isValidSession = mediator.Send(isUserSessionKeyValidRequest).Result;
if (!isValidSession)
    throw new UnauthorizedAccessException();

因此,我有一个RequestHandler(一个处理程序和一个返回布尔值的请求)只是为了检查用户会话是否正常。

当处理程序捕获到该请求时,它将进入数据库并执行一个简单的规则,即“所传递的会话与存储的会话密钥相同吗?”。

对吗?这是正确的方法吗?我明白吗?

先谢谢大家

0 个答案:

没有答案