C# 中的 CS 脚本
本文关键字:脚本 CS 中的 | 更新日期: 2023-09-27 18:33:58
如何暂停CS脚本的执行,如何等待主调用线程。
我有一个循环。但是第二次迭代在没有完成第一次迭代的情况下开始。并执行了第二个 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) { }
}
您还可以让脚本留下一些证据来证明它已完成。它可以将值输出到文本文件,或者只是创建一个文件,等等。您调用脚本,然后检查该指示器,直到找到它(或决定放弃),然后继续。
bool CheckFile() { return someFileContainsValue }
try
{
bool completed = false;
executeScript(); // will update a text file when complete
while(!completed)
{
completed = CheckFile();
}
}
显然,异步版本会更干净,但原理是相同的。