1

CS-Script の実行を一時停止する方法、メイン呼び出しスレッドを待機する方法。

私はループを持っています。しかし、最初の反復が完了せずに 2 番目の反復が開始されました。そして2番目のcsscriptが実行されました。

foreach (var website in siteList)
        {
            try
            {
                string url = Common.GetWebSearchURL(website.ToUpper());
                string webFile = Common.GetWebSearchURL(website.ToUpper() + "_SCRIPT");
                CSScript.Evaluator.ReferenceAssembliesFromCode(webFile, true);
                ICommon script = CSScript.Evaluator.LoadFile<ICommon>(webFile);  
                script.Run(ref pnlBroswer, website, url);

            }
            catch (Exception ex) { } 
        } 
4

1 に答える 1

0

また、スクリプトが完了したという証拠を残すこともできます。値をテキスト ファイルに出力することも、単にファイルを作成することもできます。スクリプトを呼び出して、そのインジケーターが見つかるまで (またはあきらめるまで) 確認してから続行します。

bool CheckFile() { return someFileContainsValue }

try
{
    bool completed = false;
    executeScript(); // will update a text file when complete
    while(!completed)
    {
        completed = CheckFile();
    }
}

明らかに非同期バージョンの方がクリーンですが、原則は同じです。

于 2013-10-03T18:35:18.090 に答える