pschelpdesk/Vendor/Prise.Mvc/DefaultPriseMvcActionDescriptorChangeProvider.cs
2024-11-04 20:45:34 +01:00

26 lines
726 B
C#

using System.Threading;
using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.Extensions.Primitives;
namespace Prise.Mvc
{
public class DefaultPriseMvcActionDescriptorChangeProvider : IActionDescriptorChangeProvider, IPriseMvcActionDescriptorChangeProvider
{
public CancellationTokenSource TokenSource { get; private set; }
public bool HasChanged { get; set; }
public IChangeToken GetChangeToken()
{
TokenSource = new CancellationTokenSource();
return new CancellationChangeToken(TokenSource.Token);
}
public void TriggerPluginChanged()
{
HasChanged = true;
TokenSource.Cancel();
}
}
}