Eriksson Beam API
Search Results for

    Show / Hide Table of Contents

    Connection Methods

    The Eriksson Beam API provides several ways to connect to Eriksson Beam, each suited to different use cases. This guide helps you choose the right approach.

    Overview

    Class Use Case Manages Process
    ErikssonBeamLauncher Start fresh instance with specific files Yes
    ErikssonBeamFinder Find and connect to any running instance No
    ErikssonBeamClient Connect to specific process by ID No
    ErikssonBeamFileManager Batch file operations with auto-relaunch Yes

    Decision Guide

    Scenario Use This Class
    Launch Eriksson Beam for batch file processing ErikssonBeamFileManager
    Launch Eriksson Beam for single/few files ErikssonBeamLauncher
    Connect to running instance (known Process ID) ErikssonBeamClient.AttemptConnection
    Connect to running instance (unknown Process ID) ErikssonBeamFinder

    Quick Comparison

    ErikssonBeamLauncher

    Best for: Starting automation from scratch, guaranteed clean state.

    var args = new ErikssonBeamLauncherArgs
    {
        LicenseKey = licenseKey,
        ExecutablePath = @"C:\...\ErikssonBeam.exe",
        FilesToOpen = new[] { @"C:\Projects\beam.ebf" },
        CloseErikssonBeamOnClientDisconnect = true
    };
    
    using var launcher = await ErikssonBeamLauncher.LaunchErikssonBeam(args);
    var client = launcher.Client;
    

    ErikssonBeamFinder

    Best for: Connecting to user-launched Eriksson Beam instance.

    var args = new ErikssonBeamConnectionAttemptArgs
    {
        LicenseKey = licenseKey
    };
    
    var client = await ErikssonBeamFinder.GetFirstSupportedBeamClient(args);
    // or
    var client = await ErikssonBeamFinder.GetFirstClientWithFile("project.ebf", args);
    

    ErikssonBeamClient

    Best for: Connecting to a specific known process.

    var args = new ErikssonBeamConnectionAttemptArgs
    {
        LicenseKey = licenseKey,
        ProcessID = 12345  // Known process ID
    };
    
    var client = await ErikssonBeamClient.AttemptConnection(args);
    

    ErikssonBeamFileManager

    Best for: Processing many files with automatic handling of Eriksson Beam lifecycle.

    var args = new ErikssonBeamLauncherArgs
    {
        LicenseKey = licenseKey,
        ExecutablePath = @"C:\...\ErikssonBeam.exe"
    };
    
    using var fileManager = await ErikssonBeamFileManager.Initialize(args);
    await fileManager.OpenFiles(new[] { "file1.ebf", "file2.ebf" });
    var client = fileManager.Launcher.Client;
    

    Important Notes

    10-Minute Idle Timeout

    Eriksson Beam only listens for API connections for 10 minutes after launch. This timeout:

    • Is not reset by manually interacting with the UI
    • Requires restarting Eriksson Beam to reset

    If connections fail, restart Eriksson Beam and try again.

    Disposal

    Always dispose of connection objects properly:

    // Using statement (recommended)
    using var launcher = await ErikssonBeamLauncher.LaunchErikssonBeam(args);
    
    // Or explicit disposal
    var client = await ErikssonBeamFinder.GetFirstSupportedBeamClient(args);
    try
    {
        // Work with client...
    }
    finally
    {
        client.Dispose();
    }
    

    Launcher vs Client Disposal

    • ErikssonBeamLauncher.Dispose(): Closes client AND optionally closes Eriksson Beam
    • ErikssonBeamClient.Dispose(): Only closes the client connection

    Next Steps

    • ErikssonBeamLauncher - Launch fresh instances
    • ErikssonBeamFinder - Discover running instances
    • ErikssonBeamClient - Direct connection details
    • ErikssonBeamFileManager - Batch file operations
    • Edit this page
    In this article
    Back to top Generated by DocFX