fix calcolo ip
This commit is contained in:
@@ -1,59 +1 @@
|
||||
@using NLog;
|
||||
@attribute [RenderModeAuto]
|
||||
@* @attribute [RenderModeServer] *@
|
||||
|
||||
@inject IJSRuntime JSRuntime
|
||||
@inject HttpClient Http
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
USERNAME
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">@Height</li>
|
||||
<li class="list-group-item">@Width</li>
|
||||
<li class="list-group-item">A third item</li>
|
||||
<li class="list-group-item">A fourth item</li>
|
||||
<li class="list-group-item">And a fifth one</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@code {
|
||||
public int Height { get; set; } = 0;
|
||||
public int Width { get; set; } = 0;
|
||||
|
||||
public class WindowDimension
|
||||
{
|
||||
public int Width { get; set; }
|
||||
public int Height { get; set; }
|
||||
}
|
||||
protected async override Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
//await Task.Delay(500);
|
||||
if (firstRender)
|
||||
{
|
||||
await getWDim();
|
||||
StateHasChanged();
|
||||
Log.Debug($"Dimensioni schermo: {Width}x{Height}");
|
||||
}
|
||||
}
|
||||
// protected async override Task OnInitializedAsync()
|
||||
// {
|
||||
// await getWDim();
|
||||
// }
|
||||
|
||||
protected async Task getWDim()
|
||||
{
|
||||
var dimension = await JSRuntime.InvokeAsync<WindowDimension>("getWindowDimensions");
|
||||
Height = dimension.Height;
|
||||
Width = dimension.Width;
|
||||
}
|
||||
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
||||
|
||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
|
||||
|
||||
// aggiunto x gestione chiamate WebAPI
|
||||
builder.Services.AddScoped(sp =>
|
||||
new HttpClient
|
||||
|
||||
@@ -1,10 +1,97 @@
|
||||
@page "/user"
|
||||
@* <MP_TAB.Client.Pages.User></MP_TAB.Client.Pages.User> *@
|
||||
@using NLog;
|
||||
@* @attribute [RenderModeAuto] *@
|
||||
@attribute [RenderModeServer]
|
||||
|
||||
@inject IJSRuntime JSRuntime
|
||||
@inject HttpClient Http
|
||||
@inject IHttpContextAccessor httpContextAccessor
|
||||
|
||||
<h3>User</h3>
|
||||
|
||||
|
||||
<MP_TAB.Client.Pages.User></MP_TAB.Client.Pages.User>
|
||||
|
||||
<div class="d-flex">
|
||||
<div class="col-3"></div>
|
||||
<div class="card col-6">
|
||||
<div class="card-header text-center" >
|
||||
<div style="font-size: 4rem;">
|
||||
<i class="fa-solid fa-user"></i>
|
||||
</div>
|
||||
<div style="font-size: 1.5rem;">
|
||||
<span>USER DATA</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
<div class="text-start">User</div>
|
||||
<div class="text-end"><b>USERNAME[999]</b></div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
<div class="text-start">Server Time</div>
|
||||
<div class="text-end"><b>@($"{DateTime.Now.ToString("dddd d.M.yyyy HH:mm.ss")}")</b></div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
<div class="text-start">Client IP</div>
|
||||
<div class="text-end"><b>@currIpv4</b></div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
<div class="text-start">Browser Size</div>
|
||||
<div class="text-end"><b>@($"{Width}x{Height}")</b></div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-3"></div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
public int Height { get; set; } = 0;
|
||||
public int Width { get; set; } = 0;
|
||||
public string currIpv4 { get; set; } = "";
|
||||
|
||||
public class WindowDimension
|
||||
{
|
||||
public int Width { get; set; }
|
||||
public int Height { get; set; }
|
||||
}
|
||||
protected async override Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
//await Task.Delay(500);
|
||||
if (firstRender)
|
||||
{
|
||||
await getWDim();
|
||||
StateHasChanged();
|
||||
Log.Debug($"Dimensioni schermo: {Width}x{Height}");
|
||||
}
|
||||
}
|
||||
protected async override Task OnInitializedAsync()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
if (string.IsNullOrEmpty(currIpv4))
|
||||
{
|
||||
// ricalcolo e salvo...
|
||||
if (httpContextAccessor.HttpContext != null)
|
||||
{
|
||||
var remoteIp = $"{httpContextAccessor.HttpContext.Connection?.RemoteIpAddress}";
|
||||
// provo a recuperare ipV4...
|
||||
currIpv4 = EgwCoreLib.Razor.Data.IpUtils.getLocalIpv4(remoteIp);
|
||||
}
|
||||
}
|
||||
}
|
||||
protected async Task getWDim()
|
||||
{
|
||||
var dimension = await JSRuntime.InvokeAsync<WindowDimension>("getWindowDimensions");
|
||||
Height = dimension.Height;
|
||||
Width = dimension.Width;
|
||||
}
|
||||
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ builder.Services.AddSingleton<ListSelectDataSrv>();
|
||||
builder.Services.AddSingleton<OrderDataSrv>();
|
||||
builder.Services.AddScoped<UserServ>();
|
||||
|
||||
|
||||
builder.Services.AddHttpContextAccessor();
|
||||
|
||||
// nuova versione contenuti...
|
||||
builder.Services.AddRazorComponents()
|
||||
.AddServerComponents()
|
||||
|
||||
Reference in New Issue
Block a user