.NET TPLデータフローでコードを整理すると助けが必要です。ここにコードは.net dataflowの使用を改善しました
var finalBlock = new ActionBlock<Category_KeywordsToMatch>(x =>
{
List<Resume> Resumes = new List<Resume>();
using (var context = new IndepthRecruitDbContext())
{
Resumes = context.Resumes.Include("Candidate").ToList();
}
foreach (var res in Resumes)
{
var keywords = FindKeywords(x.KeywordsToMatch, res);
if (keywords.Count > 0)
{
matchedCandidates_dataflow.Add(new MatchedCandidate
{
Id = res.CandidateId,
Name = res.Candidate.Name,
Url = res.Url,
Uploaded = res.DateUploaded.ToShortDateString(),
MatchedKeywordsList = keywords
});
}
}
});
これは私のチェーンの最後のブロックです。ここでアクションブロックの入力はCategory_KeywordsToMatchであり、ジョブカテゴリと、履歴書で一致するキーワードのリストを含むクラスです。 {カテゴリ、リスト<キーワード>}。ブロック内では、私はforeachループを使用して履歴書のリストを列挙しています。 レジュメを別の入力として提供できるように、データフローを使用するより優れたデザインはありますか? 最終ブロックは、1つのカテゴリの最後のブロックです。私は複数のカテゴリのキーワードを検索する必要があります。
にBoundedCapacityパラメータを渡すことができ、またはあなたがそれをBroadcastBlock' 'と試してみることがあり、それがために、デリゲートを受け入れます値をコピーします。 – VMAtm
お返事ありがとうございます。私はこの最終ブロックをいくつかの連鎖で分割することができますか?私はtplデータフローの初心者であり、同じチュートリアルはあまりありません。履歴書は変更されません。私は、レジュメとCategory_KeywordsToMatchのタプルを他のブロックに供給し、さらにブロックで最終結果を作ることを考えていました。 @VMAtmあなたに私があなたに連絡できるように、あなたは私にあなたのスカイプまたは他の誰かのIDを教えてください。 – user3522311