Iskra.Core.Hosting 1.0.115

dotnet add package Iskra.Core.Hosting --version 1.0.115
                    
NuGet\Install-Package Iskra.Core.Hosting -Version 1.0.115
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Iskra.Core.Hosting" Version="1.0.115" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Iskra.Core.Hosting" Version="1.0.115" />
                    
Directory.Packages.props
<PackageReference Include="Iskra.Core.Hosting" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Iskra.Core.Hosting --version 1.0.115
                    
#r "nuget: Iskra.Core.Hosting, 1.0.115"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Iskra.Core.Hosting@1.0.115
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Iskra.Core.Hosting&version=1.0.115
                    
Install as a Cake Addin
#tool nuget:?package=Iskra.Core.Hosting&version=1.0.115
                    
Install as a Cake Tool

Iskra.Core.Hosting

Описание

Iskra.Core.Hosting — это компонент фреймворка Iskra, предназначенный для предоставления необходимых услуг хостинга для приложений.

Установка

Чтобы установить пакет, выполните следующую команду в вашем терминале:

dotnet add package Iskra.Core.Hosting

Использование

Настройка EndpointsOptions в appsettings.json

Вот пример того, как настроить EndpointsOptions в файле appsettings.json:

{
	"EndpointsOptions": {
		"KeycloakAddress": "https://keycloak.example.com",
		"ApiGatewayAddress": "https://api-gateway.example.com",
		"UiAddress": "https://ui.example.com",
		"AdditionalAddresses": {
			"Service1": "https://service1.example.com",
			"Service2": "https://service2.example.com"
		}
	}
}

Регистрация EndpointsOptions в DI

Чтобы зарегистрировать EndpointsOptions в контейнере зависимостей, используйте метод расширения AddEndpointsOptions:

using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection();
services.AddEndpointsOptions(Configuration);

Пример использования HandleIskraUiExceptionAttribute

Для того чтобы использовать атрибут HandleIskraUiExceptionAttribute, необходимо применить его к контроллеру или методу действия в ASP.NET Core приложении. Ниже приведен пример, как это можно сделать.

Пример контроллера
using Microsoft.AspNetCore.Mvc;

namespace Iskra.Core.Hosting.Controllers;

[ApiController]
[Route("api/[controller]")]
[HandleIskraUiExceptionAttribute] // Применение атрибута к контроллеру
public class ExampleController : ControllerBase
{
    [HttpGet("test")]
    public IActionResult Test()
    {
        try
        {
            // Логика, которая может выбросить IskraException
            throw new IskraException(IskraErrorCode.InvalidInvitationAccessTokenKey, "Ошибка доступа", null);
        }
        catch (IskraException ex)
        {
            // Обработка исключения внутри контроллера (если необходимо)
            return StatusCode(500, ex.Result);
        }
    }
}
Пример метода действия
using Microsoft.AspNetCore.Mvc;

namespace Iskra.Core.Hosting.Controllers;

[ApiController]
[Route("api/[controller]")]
public class ExampleController : ControllerBase
{
    [HttpGet("test")]
    [HandleIskraUiExceptionAttribute] // Применение атрибута к методу действия
    public IActionResult Test()
    {
        try
        {
            // Логика, которая может выбросить IskraException
            throw new IskraException(IskraErrorCode.InvalidInvitationAccessTokenKey, "Ошибка доступа", null);
        }
        catch (IskraException ex)
        {
            // Обработка исключения внутри метода действия (если необходимо)
            return StatusCode(500, ex.Result);
        }
    }
}

В обоих примерах атрибут HandleIskraUiExceptionAttribute применяется к контроллеру или методу действия. Это позволяет автоматически обрабатывать исключения типа IskraException, возвращая соответствующий JSON-ответ с кодом ошибки и сообщением.

Пример ответа

При возникновении исключения IskraException с кодом InvalidInvitationAccessTokenKey, клиент получит следующий JSON-ответ:

{
  "IskraErrorCode": "ISKRA001",
  "Title": null,
  "Subtitle": null,
  "Message": "Ошибка доступа"
}

Этот пример демонстрирует, как интегрировать и использовать атрибут HandleIskraUiExceptionAttribute для обработки исключений в ASP.NET Core приложении.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Iskra.Core.Hosting:

Package Downloads
Iskra.Clients.SequenceGenerator

Package Description

Iskra.Clients.IntegrationDadata

Package Description

Iskra.Clients.References

Package Description

Iskra.Clients.Organizations

Package Description

Iskra.Clients.Requests

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.115 99 7/11/2025
1.0.114 100 7/11/2025
1.0.113 109 7/11/2025
1.0.112 127 7/10/2025
1.0.111 134 6/18/2025
1.0.110 220 6/9/2025
1.0.109 128 6/3/2025
1.0.108 146 5/26/2025
1.0.107 141 5/26/2025
1.0.105 110 5/23/2025
1.0.104 202 5/22/2025
1.0.102 959 4/16/2025
1.0.101 202 4/16/2025
1.0.100 271 4/16/2025
1.0.99 226 4/16/2025
1.0.98 198 4/15/2025
1.0.97 214 4/14/2025
1.0.96 203 4/14/2025
1.0.95 185 4/14/2025
1.0.94 421 4/1/2025
1.0.93 157 4/1/2025
1.0.92 162 3/27/2025
1.0.91 133 3/26/2025
1.0.90 464 3/26/2025
1.0.89 473 3/25/2025
1.0.88 471 3/25/2025
1.0.86 192 3/19/2025
1.0.85 147 3/19/2025
1.0.84 174 3/13/2025
1.0.83 158 3/13/2025
1.0.82 151 3/12/2025
1.0.81 154 3/12/2025
1.0.80 156 3/12/2025
1.0.79 227 3/6/2025
1.0.78 209 3/6/2025
1.0.77 214 3/6/2025
1.0.76 207 3/6/2025
1.0.75 214 3/3/2025
1.0.74 268 2/27/2025
1.0.73 112 2/27/2025
1.0.72 116 2/27/2025