C# では、ハンドラー内の特定のコード ブロックが、複数のスレッドが終了した後にのみ実行されるようにする必要があります。これらのスレッドは、前述のコード ブロックの直前で、同じハンドラーで呼び出されるメソッドから呼び出されます。使用する構文は、私が使用している DBMS、つまり Starcounter に関連しています。
Handle.GET("/path/to/HandlerStartTests", () =>
{
// some code
startMethod();
// some code that relies on what happens within startMethod
}
public static void startMethod()
{
QueryResultRows<PO> pos = Db.SQL<PO>("SELECT po FROM PO po");
foreach (var po in pos)
{
DbSession dbSession = new DbSession();
dbSession.RunAsync(() =>
{
// Do some stuff in the Starcounter database
});
}
}
これは単体テスト用であるため、startMethod
. この問題を解決する方法についてのアイデアはありますか?