Inizio update LAND x problemi GC
This commit is contained in:
@@ -22,62 +22,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
|
||||
//[CascadingParameter]
|
||||
//private Task<AuthenticationState> AuthenticationStateTask { get; set; }
|
||||
|
||||
[CascadingParameter(Name = "ShowSearch")]
|
||||
private bool ShowSearch { get; set; }
|
||||
|
||||
private string userName = "";
|
||||
|
||||
private string PageName { get; set; }
|
||||
private string PageIcon { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await forceReload();
|
||||
}
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
AppMessages.EA_PageUpdated += OnPageUpdate;
|
||||
}
|
||||
public void OnPageUpdate()
|
||||
{
|
||||
PageName = AppMessages.PageName;
|
||||
PageIcon = AppMessages.PageIcon;
|
||||
InvokeAsync(() =>
|
||||
{
|
||||
StateHasChanged();
|
||||
});
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
AppMessages.EA_PageUpdated -= OnPageUpdate;
|
||||
}
|
||||
|
||||
private async Task forceReload()
|
||||
{
|
||||
userName = "N.A.";
|
||||
await Task.Delay(1);
|
||||
#if false
|
||||
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
{
|
||||
userName = $"{user.Identity.Name}";
|
||||
}
|
||||
else
|
||||
{
|
||||
userName = "N.A.";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@* // Vedere anche:
|
||||
// https://docs.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-5.0#:~:text=Blazor%20uses%20the%20existing%20ASP.NET%20Core%20authentication%20mechanisms,all%20client-side%20code%20can%20be%20modified%20by%20users
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MP.Land.Components
|
||||
{
|
||||
public partial class CmpTop
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
AppMessages.EA_PageUpdated -= OnPageUpdate;
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
public void OnPageUpdate()
|
||||
{
|
||||
PageName = AppMessages.PageName;
|
||||
PageIcon = AppMessages.PageIcon;
|
||||
InvokeAsync(() =>
|
||||
{
|
||||
StateHasChanged();
|
||||
});
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
AppMessages.EA_PageUpdated += OnPageUpdate;
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await forceReload();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private string userName = "";
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private string PageIcon { get; set; }
|
||||
|
||||
private string PageName { get; set; }
|
||||
|
||||
[CascadingParameter(Name = "ShowSearch")]
|
||||
private bool ShowSearch { get; set; }
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private async Task forceReload()
|
||||
{
|
||||
userName = "N.A.";
|
||||
await Task.Delay(1);
|
||||
#if false
|
||||
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
{
|
||||
userName = $"{user.Identity.Name}";
|
||||
}
|
||||
else
|
||||
{
|
||||
userName = "N.A.";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -53,79 +53,3 @@ else // disegno box non cliccabile e licenza mancante
|
||||
</div>
|
||||
}
|
||||
|
||||
@code {
|
||||
|
||||
[Parameter]
|
||||
public UpdMan CurrItem { get; set; }
|
||||
|
||||
protected List<AnagKeyValueModel> AKVList
|
||||
{
|
||||
get
|
||||
{
|
||||
return LicServ.AKVList;
|
||||
}
|
||||
set
|
||||
{
|
||||
LicServ.AKVList = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
// check init AKV
|
||||
if (AKVList == null || AKVList.Count == 0)
|
||||
{
|
||||
AKVList = await DataService.AnagKeyValList();
|
||||
LicServ.InitAkv();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected string getAKVString(string nomeVar)
|
||||
{
|
||||
string answ = "";
|
||||
if (AKVList != null)
|
||||
{
|
||||
var currRec = AKVList.FirstOrDefault(x => x.NomeVar == nomeVar);
|
||||
if (currRec != null)
|
||||
{
|
||||
answ = currRec.ValString;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
protected AnagKeyValueModel getAKVRec(string nomeVar)
|
||||
{
|
||||
AnagKeyValueModel answ = new AnagKeyValueModel();
|
||||
if (AKVList != null)
|
||||
{
|
||||
answ = AKVList.FirstOrDefault(x => x.NomeVar == nomeVar);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
protected bool authOk()
|
||||
{
|
||||
bool allOk = !string.IsNullOrEmpty(CurrItem.LicenseKey);
|
||||
if (allOk)
|
||||
{
|
||||
allOk = LicServ.checkLicenseActive(CurrItem.LicenseKey);
|
||||
}
|
||||
return allOk;
|
||||
}
|
||||
|
||||
protected string fullUrl(string relUrl)
|
||||
{
|
||||
return $"{Configuration["ServerConf:BaseUrl"]}{relUrl}";
|
||||
}
|
||||
|
||||
protected MarkupString traduci(string lemma)
|
||||
{
|
||||
MarkupString answ;
|
||||
string rawHtml = DataService.Traduci(lemma, "IT");
|
||||
answ = new MarkupString(rawHtml);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using MP.AppAuth.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MP.Land.Components
|
||||
{
|
||||
public partial class HomeLink : IDisposable
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Parameter]
|
||||
public UpdMan CurrItem { get; set; }
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected List<AnagKeyValueModel> AKVList
|
||||
{
|
||||
get
|
||||
{
|
||||
return LicServ.AKVList;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
LicServ.AKVList = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected bool authOk()
|
||||
{
|
||||
bool allOk = !string.IsNullOrEmpty(CurrItem.LicenseKey);
|
||||
if (allOk)
|
||||
{
|
||||
allOk = LicServ.checkLicenseActive(CurrItem.LicenseKey);
|
||||
}
|
||||
|
||||
return allOk;
|
||||
}
|
||||
|
||||
protected string fullUrl(string relUrl)
|
||||
{
|
||||
return $"{Configuration["ServerConf:BaseUrl"]}{relUrl}";
|
||||
}
|
||||
|
||||
protected AnagKeyValueModel getAKVRec(string nomeVar)
|
||||
{
|
||||
AnagKeyValueModel answ = new AnagKeyValueModel();
|
||||
if (AKVList != null)
|
||||
{
|
||||
answ = AKVList.FirstOrDefault(x => x.NomeVar == nomeVar);
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
protected string getAKVString(string nomeVar)
|
||||
{
|
||||
string answ = "";
|
||||
if (AKVList != null)
|
||||
{
|
||||
var currRec = AKVList.FirstOrDefault(x => x.NomeVar == nomeVar);
|
||||
if (currRec != null)
|
||||
{
|
||||
answ = currRec.ValString;
|
||||
}
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
// check init AKV
|
||||
if (AKVList == null || AKVList.Count == 0)
|
||||
{
|
||||
AKVList = await DataService.AnagKeyValList();
|
||||
LicServ.InitAkv();
|
||||
}
|
||||
}
|
||||
|
||||
protected MarkupString traduci(string lemma)
|
||||
{
|
||||
MarkupString answ;
|
||||
string rawHtml = DataService.Traduci(lemma, "IT");
|
||||
answ = new MarkupString(rawHtml);
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user