dimohy
디모이 블로그

디모이 블로그

Fusion 튜토리얼 - 0부: NuGet 패키지

dimohy's photo
dimohy
·Aug 11, 2022·

2 min read

모든 Fusion 패키지는 NuGet에서 사용할 수 있습니다.

다음을 참조해야 합니다.

  • Stl.Fusion.Server – 서버 측 어셈블리
    • .NET Framework 4.X를 사용하는 경우 대신 Stl.Fusion.Server.NetFx를 참조
  • Stl.Fusion.Client – 클라이언트 측 어셈블리
    • Blazor 클라이언트는 대신 Stl.Fusion.Client를 참조하는 Stl.Fusion.Blazor를 참조
  • Stl.Fusion – 양쪽에서 사용하는 공유 어셈블리
  • Stl.Fusion.EntityFrameworkEF Core를 사용하려는 경우 서버 측 어셈블리에서 사용

Fusion 전체 패키지 목록:

  • Stl - "ServiceTitan Library"를 나타냄(예, 모든 회사에는 자체 STL이 필요). BCL에서는 찾을 수 없었던 비교적 고립된 추상화 및 도우미 모음. StlCastle.Core에 의존함. 기타 타사 패키지일 수도 있음
  • Stl.Net - Stl에 의존적. WebSocketChannel은 현재 포함된 유일한 타입
  • Stl.Interception - Stl에 의존적. Castle DynamicProxy를 기반인 호출 차단 도우미
  • Stl.CommandR - StlStl.Interception에 의존적. CommandR은 인터페이스 기반 명령 핸들러 뿐 만 아니라 일반 메소드로 작성된 AOP 스타일 핸들러도 지원하도록 설계된 "MediatR 스테로이드"입니다. 그 외에도 명령 핸들러 API를 통합하고(파이프라인 동작과 핸들러가 동일함) 그렇지 않으면 가질 수 있는 거의 모든 상용구 코드를 제거하는 데 도움이 됩니다.
  • Stl.Fusion - Stl, Stl.InterceptionStl.CommandR에 의존적. Fusion과 관련된 거의 모든 것.
  • Stl.Fusion.Server - Stl.FusionStl.Net에 의존적. 클라이언트 측 상대방이 Fusion Publisher와 통신할 수 있도록 서버 측 WebSocket 끝점을 구현합니다. 또한 퓨전 API 컨트롤러(FusionController)에 대한 기본 클래스와 웹 앱에 이 모든 것을 등록하는 데 도움이 되는 몇 가지 확장 메서드를 제공합니다.
  • Stl.Fusion.Server.NetFx - .NET Framework 4.X 버젼의 Stl.Fusion.Server
  • Stl.Fusion.Client - Stl.FusionStl.Net에 의존적. FusionControler 기반 API 끝점과 호환되는 클라이언트 측 WebSocket 통신 채널 및 RestEase 기반 API 클라이언트 빌더를 구현함. 이 모든 것을 함께 사용하면 클라이언트에서 서버 측 대상을 "미러링"하는 컴퓨팅 인스턴스를 얻을 수 있음
  • Stl.Fusion.Blazor - Stl.Fusion.Client에 의존적. 편리한 Blazor 구성 요소를 구현합니다. 현재 StatefulCompontentBase<TState>와 2개의 하위 항목인 ComputedStateComponent<T>ComputedStateComponent<T, TLocals>가 있습니다.
  • Stl.Fusion.EntityFramework - Stl.Fusion에 의존적. Fusion 인증, 작업 지속성, IKeyValueStore 등의 EF Core 기반 구현을 포함
  • Stl.Fusion.EntityFramework.Npgsql - Stl.Fusion.EntityFramework 의존적. Npgsql 기반 작업 로그 변경 추적 구현을 포함. PostgreSQL에는 메시지 대기열로 사용할 수 있는 NOTIFY / LISTEN 명령이 있으므로 이 데이터베이스를 사용하는 경우 Fusion이 작업 로그 변경에 대해 피어 호스트에 알릴 수 있도록 별도의 메시지 대기열이 필요하지 않음