Flurl 4'ün Önbelleğe Alınmış Proxy İstemcisine Kalıcı Bir Ad Verin
İstek oluşturulurken rastgele bir rota seçimini tekrar tekrar uygulamadan farklı proxy yapılandırmalarını korumak için Flurl'ün istemci önbelleğini kullanın.
var client = clients.GetOrAdd(
"proxy-east",
"https://example.com",
builder => builder.ConfigureInnerHandler(handler =>
handler.Proxy = new WebProxy("http://203.0.113.10:8080")));
Burada clients, Flurl 4'ün IFlurlClientCache'idir. Aramadan önce rotayı seçin ve yeniden kullanılabilir istemcisine kalıcı bir ad verin. İzin verilen genel istekler için HTTP proxy listesinden iç handler'ın WebProxy URL'si için adaylar sunar. proxy-east öğesini yeni bir proxy değeriyle yeniden kullanmak, orada zaten tutulan istemcinin istek başına yeniden yapılandırılması değildir.
Uygulamanın seçtiği türle eşleşen handler API'sini kullanın; Flurl, SocketsHttpHandler için başka bir yapılandırma yolu belgeler.
Seçilen rotayı işlem meta verilerinde tutun ve ilgili istemci üzerinden çağırın. Bir factory'ye her danışıldığında rastgele seçim yapmak, aksi halde tek bir mantıksal işe tutarsız politikalar verebilir.
Önbelleğe bir uygulama kapsamı için sahip olun ve büyümesini sınırlayın. Değişen geçici bir proxy listesi istemcileri ve kaynakları biriktirebilir; adlar/günlükler için gömülü parolalar yerine güvenli rota tanımlayıcıları kullanın.
Bu, eski özel factory altyapısını kopyalamak veya başka bir istek sırasında kullanımdaki bir handler'ı değiştirmek yerine Flurl 4'ün adlandırılmış önbellek arabirimini kullanır.