Когда я развертываю свой ASP. NET CORE WEB Project на Linux сервере, он всегда показывает мой идентификатор локальной сети, хотя кто-то еще подключается к Linux серверу, используя тот же URL-адрес, он все равно показывает мой Lan ID на их веб-сайт.
Вот что я попробовал:
string mylanid = "";
if ((RuntimeInformation.IsOSPlatform(OSPlatform.Linux)))
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "sh";
psi.Arguments = "-c whoami";
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Process proc = new Process
{
StartInfo = psi
};
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
mylanid = output;
}
else
{
mylanid = Environment.UserName;
}
Сначала он проверяет OSPlatform
, является ли он Linux
, он входит в первое условие и возвращает идентификатор локальной сети, используя string output = proc.StandardOutput.ReadToEnd();
Для Windows
Я использую mylanid = Environment.UserName;
, и он отлично работает.
Что нужно сделать для Linux
, код должен обойти сервер и получить LAN ID
от сам браузер. Это то, что я ищу.
Спасибо