本文整理汇总了C#中JintEngine.ExecuteFile方法的典型用法代码示例。如果您正苦于以下问题:C# JintEngine.ExecuteFile方法的具体用法?C# JintEngine.ExecuteFile怎么用?C# JintEngine.ExecuteFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JintEngine
的用法示例。
在下文中一共展示了JintEngine.ExecuteFile方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecuteSunSpider
private static void ExecuteSunSpider()
{
const string fileName = @"..\..\..\Jint.Tests\SunSpider\Tests\access-fannkuch.js";
var jint = new JintEngine();
#if false
jint.ExecuteFile(fileName);
Console.WriteLine("Attach");
Console.ReadLine();
jint.ExecuteFile(fileName);
#else
jint.ExecuteFile(fileName);
var times = new TimeSpan[20];
int timeOffset = 0;
var lowest = new TimeSpan();
// Perform the iterations.
for (int i = 0; ; i++)
{
long memoryBefore = GC.GetTotalMemory(true);
var stopwatch = Stopwatch.StartNew();
jint.ExecuteFile(fileName);
var elapsed = stopwatch.Elapsed;
long memoryAfter = GC.GetTotalMemory(false);
times[timeOffset++] = elapsed;
if (timeOffset == times.Length)
timeOffset = 0;
if (times[times.Length - 1].Ticks != 0)
{
var average = new TimeSpan(times.Sum(p => p.Ticks) / times.Length);
if (lowest.Ticks == 0 || average.Ticks < lowest.Ticks)
lowest = average;
Console.WriteLine(
"This run: {0}, average: {1}, lowest: {2}, memory usage: {3}",
elapsed.ToString("s\\.fffff"),
average.ToString("s\\.fffff"),
lowest.ToString("s\\.fffff"),
NiceMemory(memoryAfter - memoryBefore)
);
}
}
#endif
}
示例2: RunFile
protected override object RunFile(JintEngine ctx, string fileName)
{
base.RunFile(ctx, fileName);
string suitePath = Path.Combine(
Path.GetDirectoryName(fileName),
"underscore-suite.js"
);
return ctx.ExecuteFile(suitePath);
}
示例3: ShouldNotRunInRun
public void ShouldNotRunInRun()
{
var filename = Path.GetTempFileName();
File.WriteAllText(filename, "a='bar'");
var engine = new JintEngine().AddPermission(new FileIOPermission(PermissionState.None));
engine.AllowClr();
engine.SetFunction("load", new Action<string>(p => engine.ExecuteFile(p)));
engine.SetFunction("print", new Action<string>(Console.WriteLine));
engine.Execute("var a='foo'; load('" + EscapeStringLiteral(filename) + "'); print(a);");
}
示例4: RunFile
protected override object RunFile(JintEngine ctx, string fileName)
{
string shellPath = Path.Combine(
Path.GetDirectoryName(fileName),
"shell.js"
);
if (File.Exists(shellPath))
ctx.ExecuteFile(shellPath);
return base.RunFile(ctx, fileName);
}
示例5: ShouldRunInRun
public void ShouldRunInRun()
{
var filename = Path.GetTempFileName();
File.WriteAllText(filename, "a='bar'");
var engine = new JintEngine().AddPermission(new FileIOPermission(PermissionState.Unrestricted));
engine.AllowClr();
// The DLR compiler won't compile with permissions set
engine.DisableSecurity();
engine.SetFunction("load", new Action<string>(p => engine.ExecuteFile(p)));
engine.SetFunction("print", new Action<string>(Console.WriteLine));
engine.Execute("var a='foo'; load('" + EscapeStringLiteral(filename) + "'); print(a);");
File.Delete(filename);
}
示例6: ExecuteV8
private static void ExecuteV8()
{
const string fileName = @"..\..\..\Jint.Benchmarks\Suites\V8\raytrace.js";
var jint = new JintEngine();
jint.DisableSecurity();
jint.ExecuteFile(@"..\..\..\Jint.Benchmarks\Suites\V8\base.js");
jint.SetFunction(
"NotifyResult",
new Action<string, string>((name, result) => { })
);
jint.SetFunction(
"NotifyError",
new Action<string, object>((name, error) => { })
);
string score = null;
jint.SetFunction(
"NotifyScore",
new Action<string>(p => { score = p; })
);
jint.ExecuteFile(fileName);
Console.WriteLine("Attach");
Console.ReadLine();
jint.Execute(@"
BenchmarkSuite.RunSuites({
NotifyResult: NotifyResult,
NotifyError: NotifyError,
NotifyScore: NotifyScore,
Runs: 1
});");
Console.WriteLine("Score: " + score);
}
示例7: RunFile
protected virtual object RunFile(JintEngine ctx, string fileName)
{
return ctx.ExecuteFile(fileName);
}