0

当社の WCF サービスは、データセットを Web サーバーに返します。

新しい .NET Web サイトでは、MVC 5 を使用します。MVC 5 フレームワークは既知のビジネス オブジェクト (検証フレームワークなど) と非常にうまく連携するため、データセットをモデル クラスの既知のビジネス オブジェクトに変換する必要があります。

次の変換を試しましたが、

public List<Category> GetCategories()
    {
        List<Category> cats = new List<Category>();

            DataTable dt = //get data table from the dataset;
            foreach (DataRow row in dt.Rows)
            {
                Category cat = new Category();
                cat.CategoryID = int.Parse(row["CategoryID"].ToString());
                cat.CategoryName = row["CategoryName"].ToString();
                cat.Description = row["Description"].ToString();
                cat.Picture = GetBytes(row["Picture"].ToString());
                cats.Add(cat);
            }

        return cats;
    }

データ テーブルを取得して展開するとします。このコード ブロックにアクセスする 1 秒あたり数百のリクエストがある場合、これはコストのかかる変換になりますか? 負荷がかかった状態でパフォーマンスをテストするには、どのような方法がよいでしょうか? または、この問題を解決するためのより良いアプローチはありますか?

これについて何か助けていただければ幸いです。

4

1 に答える 1

2

DataSet をドメイン オブジェクトに変換するのにかかる時間について心配する必要はありません。リモート サービスを介してデータを取得するためのリモート呼び出しのほんの一部になるからです。ただし、めったに変更されない結果セットの場合は、変換を回避するために、解決されたドメイン オブジェクトの周囲にキャッシュを追加することをお勧めしますが、より重要なことは、WCF 呼び出しとそれに続く DB 呼び出しを回避することです。

于 2013-10-29T05:10:50.163 に答える