Я проверил функциональность ASP.NET Core 3.0 и проверил, что действительно возможно обнаружить событие, когда пользователь отходит от компонента или когда браузер закрыт. Правильный шаблон разработки - использовать код Razor за файлом:
AddressBase.razor.cs:
public class AddressBase : ComponentBase, IDisposable
{
void IDisposable.Dispose()
{
Console.WriteLine("Disposing AddressBase.");
}
}
AddressBase.razor:
@page "/address"
@inherits AddressBase
<h1>Address component</h1>
The Dispose ()Функция будет активирована для всех отображаемых компонентов.
Я должен подчеркнуть хорошую функцию - пока компонент отображается браузером, метод Dispose () не вызывается при обработке действий в этом компоненте (например, пользователь использует элементы управления внутри этого компонента, которые запускают события на стороне сервера). Поэтому легко правильно определить фактическое событие, которое нам нужно, с какого-либо родительского или основного элемента управления, который всегда отображается.