Код или библиотека для определения текущего типа приложения в .NET.C#

Место общения программистов C#
Anonymous
Код или библиотека для определения текущего типа приложения в .NET.

Сообщение Anonymous »

Я ищу способ определить текущий тип приложения на C#. Я предоставляю библиотеку, которая должна попытаться определить, является ли текущее приложение веб-приложением ASP.NET Core, консольным приложением, службой Windows и т. д. Кто-нибудь знает хороший способ сделать это?
Прежде чем кто-нибудь скажет: «Не следует создавать код, зависящий от типа приложения» и так далее. Согласитесь, цель здесь не в этом. Я хочу дополнить некоторые данные журнала типом приложения. Мой код не будет отличаться в зависимости от типа приложения.
Я думал о создании метода для возврата типа после просмотра различных загруженных сборок, функций, переменных среды и т. д. Это могло выглядеть похоже на это:

Код: Выделить всё

public string GetApplicationType()
{
if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")))
return "ASP.NET Core";
else if (Console.OpenStandardInput() != Stream.Null)
return "Console";
// ...
}
Возможно, потребуется несколько итераций, чтобы сделать это правильно, но, возможно, это лучший подход.


Подробнее здесь: https://stackoverflow.com/questions/791 ... ype-in-net

Вернуться в «C#»