Разработка для HCM в среде .NET
Разработка для HCM в среде .NET
Предисловие / История в контексте использования .NET
Исходный код c# в HCM
Исходный код c# в HCM
Проект библиотеки .Net и ее подключение к HCM
Проект библиотеки .Net и ее подключение к HCM
Вызов функций spxml из .Net Proxy Dynamic Object
Вызов функций spxml из .Net библиотеки кода.
ФОНОВЫЕ ПРОЦЕССЫ
ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ И ОТЛАДКА
1.34M
Категория: ПрограммированиеПрограммирование

Разработка для HCM в среде .Net

1. Разработка для HCM в среде .NET

РАЗРАБОТКА ДЛЯ
HCM В СРЕДЕ
.NET
30-31 марта 2023
AZIMUT Сити Отель Олимпик Москва

2. Разработка для HCM в среде .NET

РАЗРАБОТКА ДЛЯ HCM В СРЕДЕ
.NET
Исходный код c# в HCM
Проект библиотеки .Net и ее подключение к HCM
Обработка данных
Вызов функций spxml из .Net
Оценка производительности и отладка

3. Предисловие / История в контексте использования .NET

ПРЕДИСЛОВИЕ / ИСТОРИЯ В КОНТЕКСТЕ ИСПОЛЬЗОВАНИЯ .NET
.Net 3.5/4.0
COM
2008-2012
.Net Core 3.1
Datex.Core
2013-2018
.Net Core 3.1
ASP .Net
2019
.Net 5
Datex.Global, Datex.Core.CSharp
2020
.Net 6/7
Distributed Websockets, Service Registering
2021 - 2023

4. Исходный код c# в HCM

//#r “reference.dll“

using System;
using Datex.Global;

namespace Agents
{
public class ServerAgent
{
public static void Run(DatexGlobal dg)
{
}
}
}

5. Исходный код c# в HCM

Плюсы:
• Позволяет быстро написать что-нибудь простое на c#
• Не требует среды разработки и .Net на стороне клиента
Минусы:
• Отсутствие нормальной среды разработки, отладки кода и
контроля версий

6. Проект библиотеки .Net и ее подключение к HCM

ПРОЕКТ БИБЛИОТЕКИ .NET И ЕЕ ПОДКЛЮЧЕНИЕ К HCM
Требования для подключения собственных библиотек:
• Стандартная библиотека .Net (Any CPU)
• Публикация в разрешенной директории dotnetcore/<dir>
• Перечисление директории в DOTNETLIBS-PATH файла xHttp.ini

7. Проект библиотеки .Net и ее подключение к HCM

ПРОЕКТ БИБЛИОТЕКИ .NET И ЕЕ ПОДКЛЮЧЕНИЕ К HCM
Плюсы:
• Полноценная среда разработки и отладка кода
• Контроль версий
Минусы:
• «Высокий» начальный порог входа для создания кода
• Монопольное использование xHttp при отладке и публикации

8. Вызов функций spxml из .Net Proxy Dynamic Object

ВЫЗОВ ФУНКЦИЙ SPXML ИЗ .NET
PROXY DYNAMIC OBJECT
public static void Run(DatexGlobal datexGlobal)
{

var ret1 = (TargetType)datexGlobal.Proxy.<SpxmlFunc>(args…);

var ret2 = (TargetType) datexGlobal.Proxy.<HCMObject>.<Func>(args…);
}

9. Вызов функций spxml из .Net библиотеки кода.

ВЫЗОВ ФУНКЦИЙ SPXML ИЗ .NET
БИБЛИОТЕКИ КОДА.
public static void Run(DatexGlobal datexGlobal)
{

var lib = datexGlobal. OpenCodeLib (libUrl);
IntPtr ret_ptr = DatexGlobalEssentials.InvokeGlobalEnv
(
BmCallType.Method,MethodName,args, lib.ptr, lib.env_ptr,
lib.src_ptr, true, typeof(IntPtr)
);
var retObj = new JsObject(ret_ptr, lib.ptr, lib.env_ptr, lib.src_ptr)

}

10. ФОНОВЫЕ ПРОЦЕССЫ

private void BackGroundTask ()
{
try
{
datexGlobal = new DatexGlobal(StaticPrime.globalEnv.globalEnvObjectPtr, IntPtr.Zero);

}
catch(Excecption ex)
{

}
}

11. ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ И ОТЛАДКА

• Полноценная отладка в VS, VS Code, etc…
• Диагностика производительности
dotnet-trace collect -p <pid>
PerfView
Visual Studio
JetBrains DotTrace

12.

Вопросы
И может быть ответы…
English     Русский Правила