Я пытаюсь асинхронно получить идентификатор пользователя Active Directory в файле startup.cs
. В конце списка вернуть нулевое значение.
- ASP. NET Веб-приложение Core 3.1
- Visual Studio 2019
Это код У меня есть
string mylanid = "";
app.Run(async (context) =>
{
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;
}
List<returnedId> listData = new List<returnedId>();
returnedId retrnTbl = new returnedId();
retrnTbl.userRole = mylanid;
listData.Add(retrnTbl);
});
вместо списка, если я использую код ниже. Он отражает правильный результат, но я хочу, чтобы это строковое значение было сохранено в List
.
await context.Response.WriteAsync(mylanId);
Любая помощь приветствуется.