Я работаю над серверным приложением Blazor, и меня заблокировало или сбивает с толку использование служб временного типа внутри сервера Blazor.
Я прочитал эту тему о том, почему мне не следует реализовывать IDisposable внутри переходного процесса. сервис.
Промежуточные сервисы, реализующие IDisposable:
Ссылка на сервис поддерживается DI-контейнер, чтобы он мог обрабатывать удаление служб. Это предотвращает сбор мусора службы при удалении компонента. Служба хранится в памяти до тех пор, пока сам контейнер DI не будет утилизирован.
Мой вопрос:
Ничего ли, если я реализую IDisposable внутри своей временной службы и вызову
Код: Выделить всё
.Dispose()Код: Выделить всё
.razorДавайте создадим пример:
Пример службы зарегистрирован как временный внутри Д.И.:
Код: Выделить всё
namespace testExample
{
public class MyService : IDisposable
{
public void DoSomething()
{
}
public void Dispose()
{
}
}
}
Код: Выделить всё
@inject MyService _service
@implements IDisposable
MyComponent
@code {
protected override void OnInitialized()
{
_service.DoSomething();
}
public void Dispose()
{
_service.Dispose();
}
}
Источник: https://stackoverflow.com/questions/781 ... es-dispose
Мобильная версия