Korumamız gereken bir API noktasına özgü bir HttpClient sarıcısı olan bir saplama projesini miras aldım. Amaç, bu çözümü nuget olarak API son noktasını tüketmesi gereken diğer .NET ekiplerine dağıtmaktır. - Autofac tel-up altında bir modül olarak baktığımızda Web API'sı için Autofaclı HttpClient sarıcı
sorumu tüketici bu yapardın şudur: Bu kurulum tabanını URI geçmek ve daha sonra GetPlayerInformation yöntemini erişmek için tüketici kolaylaştırmak nasıldırvar client = PlayersAPIHttpClientModule("http:/api.players.com");
?
Bu, çekirdek etki alanıyla paylaşılan arabirimdir.
public interface IPlayerDomainManager
{
IPlayer GetPlayerInformation (string playerId);
}
Ve bu, açıktaki yöntem işleviyle sınıfın kendisidir. AutoFac Module documentation tarif edildiği gibi
internal class PlayerDomainManager : IPlayerDomainManager
{
private readonly HttpClient _client;
private readonly IMappingEngine _mapper;
public PlayerDomainManager(HttpClient client, IMappingEngine mapper)
{
this._client = client;
this._mapper = mapper;
}
public IPlayer GetPlayerInformation(string playerId)
{
var response = this._client
.SendAsync
(new
HttpRequestMessage(HttpMethod.Get,
"/players/" + playerId),
CancellationToken.None)
.Result;
}
}