2

別のクラス ライブラリでサービス レイヤーを使用する MVC 4 アプリケーションがあります。

そのサービス層への呼び出しの一部は、どのユーザーがデータを要求しているかを知る必要があります。

データ レコードは、ユーザー ロールによって異なります。

Prevent Coupling Issueの場合、リクエスト (HttpContext.User.Identity.Name) でユーザー名を渡すか、同じ HttpContext.User.Identity.Name を使用してサービス層で直接アクセスする必要があります。

HttpContext をサービス層から隠す必要があるかどうかはわかりません。

4

2 に答える 2

1

HttpContext をサービス層に渡すのは魅力的に見えるかもしれませんが、それは悪い選択です。ASP.net ランタイム サービスとビジネス ロジックの間にハード リンクが作成されます (これは、まさに回避しようとしているものだと思います)。ログインしたユーザーを表すクラスを作成するのが最善です。これをベースコントローラーに入力し、それをサービスレイヤーに渡すことができます。

このようにして、両方の長所を活かすことができます

于 2013-02-04T08:34:00.323 に答える