Iskra.Core.Hosting
1.0.75
See the version list below for details.
dotnet add package Iskra.Core.Hosting --version 1.0.75
NuGet\Install-Package Iskra.Core.Hosting -Version 1.0.75
<PackageReference Include="Iskra.Core.Hosting" Version="1.0.75" />
paket add Iskra.Core.Hosting --version 1.0.75
#r "nuget: Iskra.Core.Hosting, 1.0.75"
// Install Iskra.Core.Hosting as a Cake Addin #addin nuget:?package=Iskra.Core.Hosting&version=1.0.75 // Install Iskra.Core.Hosting as a Cake Tool #tool nuget:?package=Iskra.Core.Hosting&version=1.0.75
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 | Versions 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. |
-
net8.0
- FluentValidation (>= 11.11.0)
- JetBrains.Annotations (>= 2024.3.0)
- Microsoft.Extensions.Configuration (>= 9.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.2)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.2)
- Microsoft.Extensions.DependencyInjection (>= 9.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.2)
- Microsoft.Extensions.Options (>= 9.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.2)
- Reo.Core.CodeConventions (>= 8.0.189)
- Reo.Core.DataModels (>= 8.0.189)
- Reo.Core.Extensions (>= 8.0.189)
- Reo.Core.Hosting (>= 8.0.189)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Iskra.Core.Hosting:
Package | Downloads |
---|---|
Iskra.Clients.SequenceGenerator
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.