CSharpTest.Net
ScriptRunner Class
Members  Example  See Also  Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Processes Namespace : ScriptRunner Class

Glossary Item Box

Defines a way to run scripts as an external process and capture their output.

Object Model

ScriptRunner ClassScriptEngine Class

Syntax

Visual Basic (Declaration) 
Public Class ScriptRunner 
   Implements IRunner 
C# 
public class ScriptRunner : IRunner  

Example

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.NETCopy 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

Inheritance Hierarchy

System.Object
   CSharpTest.Net.Processes.ScriptRunner

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys