Ответы пользователя по тегу .NET
  • DataGrid отображает только последнюю строчку. Как исправить?

    hekkaaa
    @hekkaaa
    C#/.NET Developer
    Привет!
    Я даже честно удивлен, что это у тебя работает вообще хоть как-то.
    Не работает у тебя потому, что ты сам пишешь в разметке "выдай мне 0 элемент списка".
    Обращаю внимание на Binding User[0].username. Причина в этом.

    <DataGridTextColumn Width="*" Header="Имя пользователя" Binding="{Binding User[0].username}"></DataGridTextColumn>
    
     <DataGridTextColumn Width="*" Header="ФИО" Binding="{Binding User[0].FullName}"></DataGridTextColumn>


    Чтобы все работало отлично в XAML тебе нужно передавить список объектов с нужными полями в строчку

    <DataGrid x:Name="Dg_Login" Grid.Row="1" AutoGenerateColumns="False" ItemsSource="{Bunding CollectionDbObject}"> 
    <DataGrid.Columns>
    <DataGridTextColumn Width="*" Header="Имя пользователя" Binding="{Binding username}"></DataGridTextColumn>
    <DataGridTextColumn Width="*" Header="ФИО" Binding="{Binding FullName}"></DataGridTextColumn>
    <DataGridTextColumn Width="*" Header="Результат входа" Binding="{Binding State1}"></DataGridTextColumn>
     <DataGridTextColumn Width="*" Header="Дата" Binding="{Binding Date, StringFormat=dd.MM.yyyy HH:mm:ss}"></DataGridTextColumn>
    </DataGrid.Columns>


    Должно выглядеть примерно так
    Ответ написан
  • Как сконфигурировать Worker Service для логгирования запросов Entity Framework через NLog?

    hekkaaa
    @hekkaaa
    C#/.NET Developer
    Привет!
    Вот мой вариант подключения Nlog к такому сервису на .NET 6
    Сам процесс подключения и использования его через DI дальше брал вот с этого примера

    Возможно я пропустил пару "скобочек", но вот так выглядитProgram.cs:
    IHost host = Host.CreateDefaultBuilder(args)
        .ConfigureHostConfiguration(builder =>
        {
            builder.SetBasePath(System.IO.Directory.GetCurrentDirectory());
        
        })
    
        .ConfigureServices(services =>
        {
            services.AddHostedService<Worker>();
          var config = new ConfigurationBuilder()
                  .SetBasePath(System.IO.Directory.GetCurrentDirectory())
                  .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                  .AddEnvironmentVariables()
                  .Build();
         
            services.AddSingleton<IRunner, Runner>()
            .AddLogging(loggingBuilder =>
            {
                // configure Logging with NLog
                loggingBuilder.ClearProviders();
                loggingBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Debug);
                loggingBuilder.AddNLog(config);
            });
            services.AddSingleton<IEmailService, EmailService>();
            services.AddSingleton<IClientSmtp, SmtpClientGoogleAsync>();
            services.AddSingleton<ICheckingSubEmailService, CheckingSubEmailService>();
        })
        .UseWindowsService()
        .Build();


    После в такого инстанса в документации есть часть где создается class Running, там ты просто закинь POST запрос в свою базу. Все это делается на DI не сильно сложно.
    Ответ написан
    Комментировать