This repository has been archived on 2026-10-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
HiNC-2025-win-desktop-Deploy/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.LocalApp.html
T
2026-09-17 10:22:49 +08:00

394 lines
12 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class LocalApp | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class LocalApp | HiAPI-C# 2025 ">
<meta name="description" content="Local application initialization and cleanup utilities.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.HiNcKits.LocalApp">
<h1 id="Hi_HiNcKits_LocalApp" data-uid="Hi.HiNcKits.LocalApp" class="text-break">
Class LocalApp
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.HiNcKits.html">HiNcKits</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
</div>
<div class="markdown summary"><p>Local application initialization and cleanup utilities.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static class LocalApp</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">LocalApp</span></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
</dd></dl>
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_HiNcKits_LocalApp_DefaultLocalAppConfigPath" data-uid="Hi.HiNcKits.LocalApp.DefaultLocalAppConfigPath">
DefaultLocalAppConfigPath
</h3>
<div class="markdown level1 summary"><p>Path to the configuration file.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string DefaultLocalAppConfigPath = &quot;hinc-host-config.xml&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_HiNcKits_LocalApp_LocalAppConfig_" data-uid="Hi.HiNcKits.LocalApp.LocalAppConfig*"></a>
<h3 id="Hi_HiNcKits_LocalApp_LocalAppConfig" data-uid="Hi.HiNcKits.LocalApp.LocalAppConfig">
LocalAppConfig
</h3>
<div class="markdown level1 summary"><p>Gets or sets the host configuration.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static LocalAppConfig LocalAppConfig { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.HiNcKits.LocalAppConfig.html">LocalAppConfig</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_HiNcKits_LocalApp_AppBegin_" data-uid="Hi.HiNcKits.LocalApp.AppBegin*"></a>
<h3 id="Hi_HiNcKits_LocalApp_AppBegin_Hi_HiNcKits_LocalAppConfig_Microsoft_Extensions_Logging_ILogger_" data-uid="Hi.HiNcKits.LocalApp.AppBegin(Hi.HiNcKits.LocalAppConfig,Microsoft.Extensions.Logging.ILogger)">
AppBegin(LocalAppConfig, ILogger)
</h3>
<div class="markdown level1 summary"><p>Initializes the application with the specified configuration.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void AppBegin(LocalAppConfig localAppConfig, ILogger logger)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>localAppConfig</code> <a class="xref" href="Hi.HiNcKits.LocalAppConfig.html">LocalAppConfig</a></dt>
<dd><p>The local application configuration.</p>
</dd>
<dt><code>logger</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger">ILogger</a></dt>
<dd><p>Logger used for startup diagnostics.</p>
</dd>
</dl>
<a id="Hi_HiNcKits_LocalApp_AppBegin_" data-uid="Hi.HiNcKits.LocalApp.AppBegin*"></a>
<h3 id="Hi_HiNcKits_LocalApp_AppBegin_Microsoft_Extensions_Logging_ILogger_System_String_" data-uid="Hi.HiNcKits.LocalApp.AppBegin(Microsoft.Extensions.Logging.ILogger,System.String)">
AppBegin(ILogger, string)
</h3>
<div class="markdown level1 summary"><p>Initializes the application with the specified cache database path.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void AppBegin(ILogger logger, string cacheDbPath = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>logger</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger">ILogger</a></dt>
<dd><p>Logger instance for startup diagnostics.</p>
</dd>
<dt><code>cacheDbPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The path to the SQLite cache database. If null, uses default path.</p>
</dd>
</dl>
<a id="Hi_HiNcKits_LocalApp_AppBeginWithConfigFile_" data-uid="Hi.HiNcKits.LocalApp.AppBeginWithConfigFile*"></a>
<h3 id="Hi_HiNcKits_LocalApp_AppBeginWithConfigFile_Microsoft_Extensions_Logging_ILogger_System_String_" data-uid="Hi.HiNcKits.LocalApp.AppBeginWithConfigFile(Microsoft.Extensions.Logging.ILogger,System.String)">
AppBeginWithConfigFile(ILogger, string)
</h3>
<div class="markdown level1 summary"><p>Initializes the application with configuration from a file.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void AppBeginWithConfigFile(ILogger logger, string hostConfigPath = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>logger</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger">ILogger</a></dt>
<dd><p>Logger used when loading configuration and initializing caches.</p>
</dd>
<dt><code>hostConfigPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Path to the host configuration file. Uses default path if null.</p>
</dd>
</dl>
<a id="Hi_HiNcKits_LocalApp_AppEnd_" data-uid="Hi.HiNcKits.LocalApp.AppEnd*"></a>
<h3 id="Hi_HiNcKits_LocalApp_AppEnd" data-uid="Hi.HiNcKits.LocalApp.AppEnd">
AppEnd()
</h3>
<div class="markdown level1 summary"><p>Cleans up the application by stopping services and logging out licenses.
Call it LAST &ndash; after the host has stopped serving and disposed everything
that drives the native core (display engines, the project service with its
play and workpiece trees). On Linux, exit() runs the native library's static
destructors while any thread still inside it keeps running, so every native
caller has to be finished before Main returns; hooking this at the START of
a host's shutdown (ASP.NET Core's ApplicationStopping) is what crashed
HiNC-1 on four deploy stops in 2026-09.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void AppEnd()</code></pre>
</div>
</article>
<div class="contribution d-print-none">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>