問題タブ [mediatr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
577 参照

asp.net-web-api - 複数層での認可

ASP.NET Core と MediatR を使用してアプリケーション/Web API を構築しています。

認証 (Google アカウント) は ASP.NET Core で行われます。コントローラーは、すべての作業を MediatR とその要求ハンドラーに委任する薄いレイヤーのみを作成します。

承認に関して、現在、私のアプローチは、[Authorize]属性で装飾されたほとんどのコントローラーと、ユーザーが認証されたかどうかをMediatRのパイプラインチェック(動作を介して)でそれぞれのリクエストハンドラーを持っているため、重複があります。

私の質問は、すべてのコントローラーで匿名アクセスを許可し、MediatR のパイプラインで認証/承認のみをチェックするのは悪い習慣でしょうか?

確かに、リクエスト ハンドラは実際のアプリケーション レイヤを形成しており、ASP.NET から独立させたいので、リクエスト ハンドラに保持する必要があります。また、このレイヤーのみがテストされます。

0 投票する
2 に答える
456 参照

c# - Autofac のネストされたスコープを機能させることができませんでした (ネストされた複数の作業ユニットには新しい dbcontext が必要です)

Autofac と Mediatr を使用して Unit of Work を実装しようとしています。ここまでの流れは

建築

しかし、Autofac で Unit OfWork の同じインスタンス (パラメーターとして DbContext を取る) をスコープ内に送信することはできませんでした。そのスコープ全体を単一のトランザクション内で実行したいということは、つまり、processHandler のポイントに到達したら、DbContext のインスタンスを作成し、同じインスタンスをネストされたハンドラーで共有する必要があるということです。プロセス ハンドラ レベルでトランザクションを作成し、ネストされたハンドラと同じトランザクションを共有できるようにします。

これが私のDIセットアップです

上記のものはプロセスハンドラです

上記のものは、ネストされたハンドラーの例です。processhandler から同じ _uow インスタンスが必要です。

EFUNitOFWork は次のようになります

私は何を間違っていますか?

ありがとうございました。