RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[asp.net-core]

Martin Hope
AofA Group
Asked: 2024-01-20 03:55:38 +0000 UTC

如何禁用 EF Core (.net core) 数据库日志记录

  • 5

为了使用数据库,我使用 ORM Entity Framework Core。启动应用程序后,对数据库的所有请求都会记录在控制台中。我没有安装日志记录。如何禁用它?

程序.cs:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddHangfire(x => x.UseSqlServerStorage(builder.Configuration.GetConnectionString("DefaultConnection")));
builder.Services.AddHangfireServer(opt =>
{
    opt.StopTimeout = TimeSpan.FromMinutes(5);
});
builder.Services.AddControllers();
builder.Services.AddSwaggerGen();
builder.Services.AddAutoMapper(typeof(AutoMapperConf));

builder.Services.AddCors(o => o.AddDefaultPolicy(builder =>
{
    builder
    .WithOrigins("http://localhost:80")
    .AllowCredentials()
    .AllowAnyHeader()
    .AllowAnyMethod();
}));

// DB Services
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");

builder.Services.AddDbContext<AMContext>(options => options.UseSqlServer(connectionString), ServiceLifetime.Transient);
builder.Services.AddDbContext<AMIdentityContext>(options => options.UseSqlServer(connectionString), ServiceLifetime.Transient);

builder.Services.ConfigureApplicationCookie(opt =>
{
    opt.LoginPath = "/auth/login";
    opt.LogoutPath = "/auth/logut";
    opt.AccessDeniedPath = "/";
    opt.ExpireTimeSpan = TimeSpan.FromDays(180);
});

builder.Services.AddIdentity<DBUser, IdentityRole>(config =>
{
    config.Password.RequireNonAlphanumeric = false;
    config.Password.RequiredLength = 1;
    config.Password.RequireUppercase = false;
    config.Password.RequireDigit = false;
    config.Password.RequireLowercase = false;
})
    .AddEntityFrameworkStores<AMIdentityContext>()
    .AddDefaultTokenProviders();

builder.Services.AddSpaStaticFiles(configuration =>
{
    configuration.RootPath = "wwwroot";
});
var app = builder.Build();

app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseCors();
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
    Authorization = new[] { new HangfireAuthFilter() }
});

app.MapControllers();
app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

app.UseSpa(spa =>
{
    spa.Options.SourcePath = "ClientApp";
    if (app.Environment.IsDevelopment())
    {
        spa.UseAngularCliServer(npmScript: "start");
        spa.UseProxyToSpaDevelopmentServer("http://localhost:4200");
    }
});


RecurringJob.AddOrUpdate<HangFireTaskManager>("TaskParser", (method) => method.TaskParser(), "*/1 * * * * *");
RecurringJob.AddOrUpdate<HangFireTaskManager>("PostParser", (method) => method.PostParser(), "*/1 * * * * *");
RecurringJob.AddOrUpdate<HangFireTaskManager>("MonitorStatus", (method) => method.MonitorStatus(), "*/1 * * * * *");
RecurringJob.AddOrUpdate<HangFireTaskManager>("CommentParser", (method) => method.CommentParser(), "*/1 * * * * *");
RecurringJob.AddOrUpdate<HangFireTaskManager>("LikesParser", (method) => method.LikesParser(), "*/1 * * * * *");


// Init Roles
using (var scope = app.Services.CreateScope())
{
    var services = scope.ServiceProvider;
    try
    {
        var rolesManager = services.GetRequiredService<RoleManager<IdentityRole>>();
        await RoleInitializer.InitializeAsync(rolesManager);
    }
    catch (Exception ex)
    {
        var logger = services.GetRequiredService<ILogger<Program>>();
        logger.LogError(ex, "An error occurred while seeding the database.");
    }
}

app.Run();
asp.net-core
  • 1 个回答
  • 22 Views
Martin Hope
user511657
Asked: 2022-08-13 06:02:30 +0000 UTC

如何按字符串发送和过滤数据

  • 0

我想通过 url 行显示产品信息。在此处输入图像描述

我假设我需要向服务器发送一个字符串,然后将过滤后的数据按字符串发送回客户端。实际上,我试图实现它,但它不起作用。服务器控制器:

 private readonly DataContext _context;
    private List<Clothes> vendor;
    public ProductVendorController(DataContext context)
    {
        _context = context;
    }

    
    [HttpGet]
    public async Task<ActionResult> GetClothesUrl()
    {
        return Ok( vendor.ToList());
    }
    
    [HttpPost]
    public async Task<ActionResult> GetVendorClothes(string data)
    {
        var find = (from dadsa in _context.Clothes.Where(p => p.VendorCode == data)
                select dadsa
            ).ToListAsync();
        vendor = await find;
        return Ok();
    }

服务:

  public VendorFind(Vendor: string): Observable<string> {

        return this.http.post<string>(
          `${environment.apiUrl}/${this.urlVendor}`,
          Vendor
        );
      }
      public VendorFindGet():Observable<Clothes>{
          return this.http.get<Clothes>(
            `${environment.apiUrl}/${this.urlVendor}`);
    
        }

零件:

 VendorCode:string = "";
  private subscription: Subscription;
  constructor(private clothesService:ClothesServiceService,private activateRoute: ActivatedRoute) {
    this.subscription = this.activateRoute.params.subscribe(params => this.VendorCode = params['VendorCode'] );
  }
  vendorUpdated = new EventEmitter<string>();
  info:any = new Clothes;
  ngOnInit(): void {
    this.clothesService
      .VendorFind(this.VendorCode)
      .subscribe((vendor: string) => this.vendorUpdated.emit(vendor));
    this.clothesService
      .VendorFindGet()
      .subscribe((result:Clothes)=>(this.info = result));
      console.log("vendor",this.VendorCode);
      console.log("info",this.info);


  }

路由模块:

 { path: 'Clothes/Product/:VendorCode', component: ProductPageComponent }

一个示例 HTML 组件:

<h1>{{info.name}}</h1>
<span>Артикул: {{info.vendorCode}}</span>
<h1>Цена: {{info.price}}.</h1>

UPD:正面:

{ path: 'Clothes/Product/:VendorCode', component: ProductPageComponent}

后端:

app.MapControllerRoute(
    name: "ProductVendor",
    pattern: "{controller =  ProductVendor}/{action}/{id?}");

UPD 2:实际上,在产品选项卡上,当用户点击查看或输入带有文章的url时,会加载产品页面,该页面是从数据库中获取的。

产品标签: 在此处输入图像描述

产品页面: 在此处输入图像描述

asp.net-core angular
  • 1 个回答
  • 92 Views
Martin Hope
Vadim Tregubenko
Asked: 2022-08-10 01:57:52 +0000 UTC

过滤和排序列表

  • 0

大家好。有一个 Handler 将对象列表返回到前面。(Web API 项目)处理程序有 2 个调用它的控制器,一个用于搜索和排序,另一个仅用于排序。

尊敬的专家,请注意以下问题:如何搜索数组是否已通过 OrderBy 排序并相应地具有 IOrderedEnumerable 类型

返回类型最初是 List<> ,但必须更改为 IOrderedEnumerable<> 。

在这种情况下如何解决问题?

我有 4 个搜索条件。(前面有 4 个搜索字段,因为这是一个表格)

检查是否存在搜索请求。并从这里开始跳舞?那些。如果搜索失败,则只需默认(按日期)对列表进行排序并返回到前面。如果请求附带搜索字符串,则进行切换,在切换分支中,首先搜索列表,当它仍然是列表时,如果需要,然后在此分支中排序。

或者也许有一些 IOrderedEnumerable 的搜索方法?

目前的代码是:

readonly IReadonlyRepository<BlackListEntity> _readonlyRepository;
    public GetBlackListQueryHandler(
        IReadonlyRepository<BlackListEntity> readonlyRepository)
    {
        _readonlyRepository = readonlyRepository;
    }

    public async Task<IOrderedEnumerable<BlackList>> Handle(GetBlackListRequest request, CancellationToken cancellationToken)
    {
        IOrderedEnumerable<BlackList> x = null;
        var result = await _readonlyRepository.GetAsync(cancellationToken);
        var dataForSort = result.Value.Select(x => new BlackList
        {
            ItemId = x.Id,
            ...
        }).ToList();
        switch (request.SortBy)
        {
            case "LastName":
                x = dataForSort.OrderBy(x => x.LastName);
                break;
            case "LastNameDecs":
                x = dataForSort.OrderByDescending(x => x.LastName);
                break;
            case "FirstName":
                x = dataForSort.OrderBy(x => x.FirstName);
                break;
            case "FirstNameDesc":
                x = dataForSort.OrderByDescending(x => x.FirstName);
                break;
            case "MiddleName":
                x = dataForSort.OrderBy(x => x.MiddleName);
                break;
            case "MiddleNameDesc":
                x = dataForSort.OrderByDescending(x => x.MiddleName);
                break;
            case "PhoneNumber":
                x = dataForSort.OrderBy(x => x.PhoneNumber);
                break;
            case "PhoneNumberDesc":
                x = dataForSort.OrderByDescending(x => x.PhoneNumber);
                break;
            case "CreateDate":
                x = dataForSort.OrderBy(x => x.CreateDate);
                break;
            case "CreateDateDesc":
                x = dataForSort.OrderByDescending(x => x.CreateDate);
                break;
        }

        return x;

仍然可以以某种方式简化过滤吗?否则带有开关和每个过滤脚本的设计似乎有点hacky

c# asp.net-core
  • 1 个回答
  • 64 Views
Martin Hope
Артём Елфимов
Asked: 2022-08-12 04:45:34 +0000 UTC

ASP.NET Core 如何实现每 3 秒更新一次数据的服务?

  • 0

有一个组织部门的列表。每个细分都有一个唯一的名称和状态(活动/锁定)。服务A提供了细分状态的数据,每个细分的状态应该每3秒变化一次。我正在尝试使用 System.Threading.Timer 服务来实现服务。问题是 Timer 委托不允许返回值(仅 void),在这种情况下如何正确实现数据传输?

c# asp.net-core
  • 1 个回答
  • 63 Views
Martin Hope
Potion
Asked: 2022-08-07 20:28:36 +0000 UTC

5 月 30 日之后从 Gmail 发送邮件(禁用不安全的方法).NETCore

  • 2

直到 5 月 30 日,我使用 Gmail 从我的网站发送确认电子邮件。

看起来像这样

public static async Task<bool> SendEmail(string email, string subject, string body)
    {
        var fromAddress = new MailAddress("securemail@gmail.com", "Регистрация");
        var toAddress = new MailAddress(email);
        const string fromPassword = "securepass";

        var smtp = new System.Net.Mail.SmtpClient
        {
            UseDefaultCredentials = false,
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
            Timeout = 20000
        };
        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body,
        })
        {
            await smtp.SendMailAsync(message);
        }

        return true;
    }

如您所见,使用邮件密码对登录。但自 5 月 30 日起,谷歌禁用了这种“不安全的方式”,现在你需要以某种方式安全登录。

Google 本身通过 Oauth2 和同意屏幕说明您需要什么,但这些是为最终用户提供的服务,当您指定您的 Google 邮件并且 Google 允许您访问时。

但我不需要那样,我只需要从我的邮件中发送一封信到我的 .NETCore 应用程序中的其他邮件,最终用户无权访问该邮件。怎么做?

c# asp.net-core
  • 1 个回答
  • 345 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5