Ответы пользователя по тегу .NET
  • Какой хостинг выбрать для ТГ бота на .Net?

    igolets
    @igolets
    Программист C#, MSSQL
    Как опцию предлагаю рассмотреть бессерверный бот. До какого-то количества вызовов вообще будет бесплатно.
    https://habr.com/ru/articles/752658/
    Ответ написан
    Комментировать
  • Имеет ли смысл использовать паттерн MVVM в приложении Winforms?

    igolets
    @igolets
    Программист C#, MSSQL
    1. WPF немного адаптирован для MVVM, но это не обязательно — масса примеров в родной документации не использует никакого MVVM. Так что я бы не связывал выбор использования MVVM с WPF.
    2. Есть готовые библиотеки для WinForms, которые умеют делать легкий MVVM. Лично я, например, работал с DevExpress и на мой взгляд, из коробки он дает даже больше, чем WPF (например, есть встроенные сервисы работы с попап окнами). Так что использовать MVVM на WinForms не сложнее, чем на WPF.
    3. И раз мы отделили вопрос MVVM от WPF/WF, нужно принципиально решать вопрос использовать ли MVVM в конкретном проекте.
    4. И, собственно, вопрос использование MVVM имеет плюсы и минусы. Плюсы — сопротивление хаосу при массированных изменениях кода, уменьшение человеческого труда при тестировании. Минусы — больше кодинга (накладные расходы на раздельную реализацию VM + юнит-тесты), не устраняет ручное тестирование до конца. Использовать MVVM без юнит-тестов смысла особо не вижу — кодить больше, выгоды никакой.


    Лично мое мнение — если нужна простая утилита «для себя», которую один раз написали и не трогают, я бы писал быстро (без MVVM и тестов). А если её будут менять, в том числе другие разработчики, а цена ошибки — деньги (например, если админятся данные клиентов по контрактам), то лучше MVVM и тесты.
    Ответ написан
    Комментировать
  • Как можно получать или ссылаться на переменные с двойным подчеркиванием при помощи sub classov?

    igolets
    @igolets
    Программист C#, MSSQL
    Вот статья по теме: https://learn.microsoft.com/en-us/aspnet/core/fund... Раздел "Environment variables".
    Там есть пример, ссылка на код (на GitHub) и вызов
    set MyKey="My key from Environment"
    set Position__Title=Environment_Editor
    set Position__Name=Environment_Rick
    dotnet run


    Собственно, под капотом следующее (тут сборная солянка, из разных классов):
    // из public class Startup
            public void ConfigureServices(IServiceCollection services)
            {
                services. Configure<PositionOptions>(Configuration.GetSection(
                                                    PositionOptions.Position));
                services.AddRazorPages();
            }
    
    // из кода, который обращается к настройкам
        public class PositionOptions
        {
            public const string Position = "Position";
    
            public string Title { get; set; }
            public string Name { get; set; }
        }
    
            public Test2Model(IOptions<PositionOptions> options)
            {
                _options = options.Value;
            }
    
            public ContentResult OnGet()
            {
                return Content($"Title: {_options.Title} \n" +
                               $"Name: {_options. Name}");
            }

    Т.е. в Вашем случае нужно:
    1. сделать класс ApiConfig (по образцу PositionOptions из примера выше)
    2. в Startup вызвать services. Configure, передав данные класса ApiConfig
    3. в коде, который дожен работать с ApiConfig запросить в конструкторе IOptions<ApiConfig>


    Второй вариант доступа такой:
    var title = Configuration["Position:Title"];
                var name = Configuration["Position:Name"];
    Ответ написан
    1 комментарий
  • Как встроить embedded webserver в .NET Winforms приложение?

    igolets
    @igolets
    Программист C#, MSSQL
    Для .Net я бы посоветовал OWIN — https://docs.microsoft.com/en-us/aspnet/core/funda...

    Самому с этой штукой поработать доводилось, встраивал в системную службу. Не вижу причин, почему оно не могло бы встроиться и в обычное приложение.

    Кстати, ASP.NET шаблоны сейчас активно используют owin.
    Ответ написан
    1 комментарий
  • Возможна ли публикации автономного ASP.NET Core приложения (сайта)?

    igolets
    @igolets
    Программист C#, MSSQL
    В диалоге паблиша на вкладке Settings указать "Target runtime = Portable" - не оно?
    Ответ написан
    Комментировать