0

シナリオ:

ユーザーの操作に基づいて、いくつかのストアドプロシージャのいずれかが呼び出され、それぞれが異なる結果構造を持っているため、戻り値を強く入力することはできません。

私はPetapocoを使用してIEnumerable<dynamic>行を返し、データテーブル(約245msかかります)に変換してから、データテーブルの行の行をループし、文字列に追加してhtmlテーブルを作成しています。

1つの結果は、3000行を超えて返され、解析にほぼ2分かかります。

どうすればこれを改善できますか?各行は約35msしかかからないので、個別に問題はありません。

それを回避できれば、ページ付けを追加する必要はありません。

4

1 に答える 1

1

ほとんどの場合、を使用することStringBuilderが解決策です。

文字列インスタンスに追加する代わりに:

var html = "";

foreach(var row in rows)
    html += "<p>" + row + "</p>";

を使用しStringBuilderます:

var sb = new StringBuilder();
foreach(var row in rows)
    sb.Append("<p>" + row + "</p>");

var html = sb.ToString();
于 2013-01-07T12:53:21.840 に答える