私はC#MVCプロジェクトを持っており、ユーザーがデータを出力する方法を選択できるようにしています(つまり、速度はkmh / mphで、時間はCST、ESTtなどで、距離はKM、マイル、メートル、ヘクターなどで) .)。毎回データベースに戻って設定を取得するのではなく、ログオン時に暗号化された Cookie のユーザー データ部分に設定します。サービスが BLL に実装され、モデルが BOL に定義されているサービス リポジトリ パターンも使用しています。また、データを JsonResults として返しています (NewtonSoft ライブラリを使用)。このユニット設定情報をビジネス ロジック層に渡さずに、データをユーザー指定の型に変換するための最善の戦略 (場所と方法) は何ですか? 私は当初、customAttributes を使用し、リフレクションを使用して Json 文字列を生成する独自の CustomJsonResult actionResult を作成することを考えていました。しかし、これには独自のオブジェクト トラバーサル アルゴリズムが必要です。私の主な関心事は、アプリをステートレスにしたいということです。
1 に答える
0
この変換は、ビジネス オブジェクトをビューに渡されるビュー モデルに変換するマッピング レイヤーで実行できると思います。そのため、コントローラーはビジネス レイヤーにクエリを実行してモデルを取得し、次に Cookie に格納されたユーザー設定をクエリし、これら 2 つのエンティティをマッピング レイヤーに渡します。マッピング レイヤーは、ユーザー ロケールに基づいて必要な変換とフォーマットを実行し、単に情報を出力する、厳密に型指定されたビューに送信する準備ができているビュー モデル。
もう 1 つの可能性は、ビュー内でカスタム HTML ヘルパーを使用することです。これはモデル値を取得し、Cookie 出力に保存されたユーザー設定に基づいて変換を実行し、フォーマットされた文字列を出力します。
于 2011-01-24T23:45:12.117 に答える