小编mco*_*ont的帖子

使用 .NET Flurl/HttpClient 设置每个请求的代理(或轮换代理)

我知道使用Flurl HTTP .NET 库,我可以使用自定义设置全局代理HttpClientFactory,但是有没有办法为每个请求选择自定义代理

对于许多其他编程语言,设置代理就像设置选项一样简单。例如,使用 Node.js 我可以做到:

const request = require('request');
let opts = { url: 'http://random.org', proxy: 'http://myproxy' };
request(opts, callback);
Run Code Online (Sandbox Code Playgroud)

使用 Flurl 做到这一点的理想方法是这样的,目前这是不可能的:

await "http://random.org".WithProxy("http://myproxy").GetAsync();
Run Code Online (Sandbox Code Playgroud)

我也知道为每个请求创建一个FlurlClient/HttpClient不是一种选择,因为套接字耗尽问题,我过去也经历过。

这种情况是当您需要有一个以某种方式轮换的代理池时,以便每个 HTTP 请求可能使用不同的代理 URL。

c# flurl

4
推荐指数
1
解决办法
2163
查看次数

EF Core:更新实体而不先查询它

我正在寻找一种通过了解实体的主键来更新实体的属性的方法,而无需先查询它。

我想出的解决方案是这样的:

var order = new OrderEntity()
{
    Id = 5
};

db.Orders.Attach(order).State = EntityState.Unchanged;

order.Name = "smth";

db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,因为生成的 SQL 正是我所期望的:

UPDATE "Orders" SET "Name" = @p0
WHERE "Id" = @p1;
Run Code Online (Sandbox Code Playgroud)

问题:这是正确的做法吗?

我在官方文档或网络上的其他任何地方都找不到对此的任何确认。类似的问题是关于实体框架(非核心)的,他们似乎使用不同的策略,比如设置EntityState.Modified而不是Unchanged. 我也尝试过,但它具有更新所有属性的效果,这不是我想要实现的。所以我想知道上面的解决方案是否有我遗漏的东西。

谢谢。

entity-framework-core

4
推荐指数
1
解决办法
3916
查看次数

AllowAnonymous 无法与 ASP.NET Core 6.0 Web API 一起使用

我在 ASP.NET Core 6.0 中有以下身份验证配置,具有自定义身份验证方案:

// Enable authentication, add a custom scheme and set it as the default
builder.Services.AddAuthentication(opts =>
        opts.DefaultAuthenticateScheme = "Custom")
    .AddScheme<CustomAuthSchemeOptions, CustomAuthSchemeHandler>("Custom", null);

// stuff...

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

// Use attribute routing for the Web API
app.MapControllers();
Run Code Online (Sandbox Code Playgroud)

选项是空的,而CustomAuthSchemeHandler可以是这样简单的东西:

public class CustomAuthSchemeHandler: AuthenticationHandler<CustomAuthSchemeOptions>
{
    public CustomAuthSchemeHandler(
        IOptionsMonitor<CustomAuthSchemeOptions> options,
        ILoggerFactory logger,
        UrlEncoder encoder,
        ISystemClock clock) : base(options, logger, encoder, clock)
    {
    }

    protected async override Task<AuthenticateResult> HandleAuthenticateAsync()
    {
        Console.WriteLine("Authenticating..."); // the logger, yeah yeah...
        var principal = new …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

3
推荐指数
1
解决办法
6385
查看次数

(.*)和(.*?)之间的差异

可能重复:
在regexp中懒惰和贪婪意味着什么?

我知道在正则表达式中*,+或?之后的问号 意味着不合适,但如果我想匹配任何字符,使用(.*)或(.*?)之间的区别是什么?

谢谢.

编辑:在我的情况下,我想检查一个URL.有什么区别

http://site\.net/(.*?)\.html
Run Code Online (Sandbox Code Playgroud)

http://site\.net/(.*)\.html
Run Code Online (Sandbox Code Playgroud)

php regex

2
推荐指数
2
解决办法
2042
查看次数

检查Prototype是否已加载

如何检查原型是否已加载/包含在页面中?如果我检查"Prototype"对象并且未加载原型,则在firebug中出现"Prototype is not defined"错误.

http://jsfiddle.net/pampurio97/evRTx/

javascript prototype

1
推荐指数
1
解决办法
2359
查看次数

PHP:随机加载3个html代码段之一

可能是一件简单的事情,但我想不出一个简单而好的解决方案......

我想在页面加载时随机加载三个视频中的一个...

  <video loop autoplay class="StretchtoFit">
    <source src="assets/videos/cloud.mp4" type="video/mp4">
    <source src="assets/videos/cloud.ogg" type="video/ogg">
    <source src="assets/videos/cloud.webm" type="video/webm">
  </video>
  <video loop autoplay class="StretchtoFit">
    <source src="assets/videos/bath.mp4" type="video/mp4">
    <source src="assets/videos/bath.ogg" type="video/ogg">
    <source src="assets/videos/bath.webm" type="video/webm">
  </video>
  <video loop autoplay class="StretchtoFit">
    <source src="assets/videos/train.mp4" type="video/mp4">
    <source src="assets/videos/train.ogg" type="video/ogg">
    <source src="assets/videos/train.webm" type="video/webm">
  </video>
Run Code Online (Sandbox Code Playgroud)

该网页是基于PHP的.是否有任何简单的方法可以随机使用三个标签中的一个,而不加载另外两个?

你会怎么做?

html php html5

1
推荐指数
1
解决办法
187
查看次数