Visual Basic (Declaration) | |
---|---|
Public Class ScriptRunner Implements IRunner |
C# | |
---|---|
public class ScriptRunner : IRunner |
Library/Library.Test/TestScriptRunner.cs
C# | Copy Code |
---|---|
using (ScriptRunner runner = new ScriptRunner(ScriptEngine.Language.CSharp, "class Program { static void Main() { System.Threading.Thread.Sleep(System.TimeSpan.FromHours(1)); } }")) { ManualResetEvent mre = new ManualResetEvent(false); runner.ProcessExited += delegate(object o, ProcessExitedEventArgs e) { mre.Set(); }; runner.Start(); Assert.IsTrue(runner.IsRunning); Assert.IsFalse(runner.WaitForExit(TimeSpan.Zero)); runner.Kill(); Assert.IsTrue(mre.WaitOne(0, false)); Assert.IsFalse(runner.IsRunning); Assert.IsTrue(runner.WaitForExit(TimeSpan.Zero)); Assert.AreNotEqual(0, runner.ExitCode); } |
VB.NET | Copy Code |
---|---|
Using runner As New ScriptRunner(ScriptEngine.Language.CSharp, "class Program { static void Main() { System.Threading.Thread.Sleep(System.TimeSpan.FromHours(1)); } }") Dim mre As New ManualResetEvent(False) runner.ProcessExited += Function(o As Object, e As ProcessExitedEventArgs) Do mre.[Set]() End Function runner.Start() Assert.IsTrue(runner.IsRunning) Assert.IsFalse(runner.WaitForExit(TimeSpan.Zero)) runner.Kill() Assert.IsTrue(mre.WaitOne(0, False)) Assert.IsFalse(runner.IsRunning) Assert.IsTrue(runner.WaitForExit(TimeSpan.Zero)) Assert.AreNotEqual(0, runner.ExitCode) End Using |
System.Object
CSharpTest.Net.Processes.ScriptRunner
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
Reference
ScriptRunner MembersCSharpTest.Net.Processes Namespace