{"id":90354,"date":"2024-12-29T11:25:42","date_gmt":"2024-12-29T07:55:42","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/named-va-typed-httpclient-haqida-55b8\/"},"modified":"2024-12-29T11:25:42","modified_gmt":"2024-12-29T07:55:42","slug":"named-va-typed-httpclient-haqida-55b8","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/named-va-typed-httpclient-haqida-55b8\/","title":{"rendered":"\u0628\u0627 \u0646\u0627\u0645 va Typed HttpClient haqida &#8211; DEV Community"},"content":{"rendered":"<div data-article-id=\"2180199\" id=\"article-body\">\n<p>\u062f\u0631 ASP.NET Core\u060c HttpClient \u0628\u0647 \u0637\u0648\u0631 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0627 HttpClientFactory \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u0624\u062b\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc HTTP \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u06cc\u0645. \u0645\u0641\u0627\u0647\u06cc\u0645 Named \u0648 Typed HttpClient \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0645 \u0647\u0633\u062a\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u0627\u0647\u06cc\u062a\u060c \u0645\u0632\u0627\u06cc\u0627 \u0648 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u062f\u0648 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f.<\/p>\n<p><strong>HttpClient \u0646\u0627\u0645 \u062f\u0627\u0631\u062f<\/strong><\/p>\n<p>\u0628\u0647 \u0646\u0627\u0645 HttpClient &#8211; bu malum bir <code>nom bilan belgilangan<\/code> \u0648\u0627 <code>qayta foydalanish<\/code> HttpClient \u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0628\u0647 \u0647\u0631 \u0646\u0627\u0645 \u0645\u06cc \u062a\u0648\u0627\u0646 \u06cc\u06a9 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f.<\/p>\n<p><strong>\u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u061f<\/strong><\/p>\n<p>1) <code>AddHttpClient<\/code> \u0645\u0627 HttpClient \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0648\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/>2) <code>IHttpClientFactory<\/code> \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0646\u0627\u0645 \u0627\u0632 \u0637\u0631\u06cc\u0642\u060c HttpClient \u0645\u0631\u0628\u0648\u0637\u0647 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u06cc\u06a9 \u0645\u062b\u0627\u0644<\/strong><\/p>\n<p>1) \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>services.AddHttpClient(\"GitHub\", client =&gt;\n{\n    client.BaseAddress = new Uri(\"https:\/\/api.github.com\/\");\n    client.DefaultRequestHeaders.Add(\"User-Agent\", \"HttpClientFactoryExample\");\n});\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>2) \u0627\u0633\u062a\u0641\u0627\u062f\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class MyService(IHttpClientFactory clientFactory)\n{\n\n    public async Task<string> GetGitHubDataAsync()\n    {\n        var client = clientFactory.CreateClient(\"GitHub\");\n        var response = await client.GetAsync(\"\/repos\/dotnet\/runtime\");\n\n        if (response.IsSuccessStatusCode)\n        {\n            return await response.Content.ReadAsStringAsync();\n        }\n\n        return null;\n    }\n}\n<\/string><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0645\u0632\u0627\u06cc\u0627<\/strong><br \/>\u0686\u0646\u062f\u06cc\u0646 HttpClient \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 \u0645\u06a9\u0627\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u0634\u0648\u0646\u062f. \u0627\u0645\u06a9\u0627\u0646 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062f\u0631 \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u0628\u0631\u0627\u06cc API \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641. \u0627\u0645\u06a9\u0627\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u062c\u062f\u062f HttpClient \u06a9\u0647 \u0628\u0627 \u0647\u0645\u06cc\u0646 \u0646\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<hr\/>\n<p><strong>HttpClient \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0631\u062f<\/strong><\/p>\n<p>HttpClient &#8211; bu \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0631\u062f <code>ma'lum bir xizmat<\/code> \u06cc\u0627 <code>API<\/code> \u0628\u0627 \u06a9\u0644\u0627\u0633 \u0647\u0627\u06cc \u0642\u0648\u06cc \u062a\u0627\u06cc\u067e \u0634\u062f\u0647 \u06a9\u0647 \u0645\u062e\u0635\u0648\u0635\u0627 \u0628\u0631\u0627\u06cc \u0622\u0646\u0647\u0627 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0628\u0627 \u0627\u06cc\u0646 \u0631\u0648\u06cc\u06a9\u0631\u062f\u060c \u06cc\u06a9 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc HttpClient \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p><strong>\u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f\u061f<\/strong><\/p>\n<p>1) \u0645\u0627 HttpClient \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0644\u0627\u0633 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AddHttpClient \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/>2) \u0645\u0627 \u0631\u0648\u0634 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 API \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 HttpClient \u062f\u0631 \u062e\u0648\u062f \u06a9\u0644\u0627\u0633 Service \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u06cc\u0645.<\/p>\n<p><strong>\u06cc\u06a9 \u0645\u062b\u0627\u0644<\/strong><\/p>\n<p>\u06a9\u0644\u0627\u0633 HttpClient \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0631\u062f\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class GitHubClient\n{\n    private readonly HttpClient _httpClient;\n\n    public GitHubClient(HttpClient httpClient)\n    {\n        _httpClient = httpClient;\n        _httpClient.BaseAddress = new Uri(\"https:\/\/api.github.com\/\");\n        _httpClient.DefaultRequestHeaders.Add(\"User-Agent\", \"HttpClientFactoryExample\");\n    }\n\n    public async Task<string> GetRepositoryDataAsync()\n    {\n        var response = await _httpClient.GetAsync(\"\/repos\/dotnet\/runtime\");\n\n        if (response.IsSuccessStatusCode)\n        {\n            return await response.Content.ReadAsStringAsync();\n        }\n\n        return null;\n    }\n}\n<\/string><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>1) \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>services.AddHttpClient<githubclient>();\n<\/githubclient><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>2) \u0627\u0633\u062a\u0641\u0627\u062f\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class MyService(GitHubClient gitHubClient)\n{\n\n    public async Task<string> GetGitHubDataAsync()\n    {\n        return await gitHubClient.GetRepositoryDataAsync();\n    }\n}\n<\/string><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0645\u0632\u0627\u06cc\u0627<\/strong><\/p>\n<p>\u062c\u062f\u0627\u0633\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a API \u0627\u0632 \u0645\u0646\u0637\u0642 \u062a\u062c\u0627\u0631\u06cc. \u06a9\u0627\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0645\u062a\u0645\u0631\u06a9\u0632 \u0628\u0631 \u062e\u062f\u0645\u0627\u062a \u062e\u0627\u0635. \u0634\u0627\u0646\u0633 \u0628\u0627\u0644\u0627 \u0628\u0631\u0627\u06cc \u062a\u0645\u0633\u062e\u0631 \u06a9\u0644\u0627\u0633<\/p>\n<p><strong>HttpClient \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0648 \u062a\u0627\u06cc\u067e \u0634\u062f\u0647: \u0645\u0642\u0627\u06cc\u0633\u0647<\/strong><\/p>\n<div class=\"table-wrapper-paragraph\">\n<table>\n<thead>\n<tr>\n<th>\u0648\u06cc\u0698\u06af\u06cc<\/th>\n<th>HttpClient \u0646\u0627\u0645 \u062f\u0627\u0631\u062f<\/th>\n<th>HttpClient \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0631\u062f<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u0631\u0648\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc<\/td>\n<td>\u0628\u0627 \u0646\u0627\u0645 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a<\/td>\n<td>\u062a\u0648\u0633\u0637 \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u062e\u0627\u0635 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062c\u062f\u062f<\/td>\n<td>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0627 \u0647\u0645\u06cc\u0646 \u0646\u0627\u0645<\/td>\n<td>\u062e\u062f\u0645\u0627\u062a \u062e\u0627\u0635\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0627\u0635<\/td>\n<\/tr>\n<tr>\n<td>\u0633\u0647\u0648\u0644\u062a \u062a\u0633\u062a<\/td>\n<td>\u0645\u0633\u062e\u0631\u0647 \u06a9\u0631\u062f\u0646\u0634 \u0633\u062e\u062a \u062a\u0631\u0647<\/td>\n<td>\u0645\u0633\u062e\u0631\u0647 \u06a9\u0631\u062f\u0646 \u0622\u0633\u0627\u0646<\/td>\n<\/tr>\n<tr>\n<td>\u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc<\/td>\n<td>\u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a<\/td>\n<td>\u0647\u062f\u0641 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>\u06a9\u062f\u0627\u0645 \u06cc\u06a9 \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f\u061f<\/strong><\/p>\n<p><strong>\u0628\u0627 \u0646\u0627\u0645 HttpClient:<\/strong> \u0627\u06af\u0631 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06cc\u06a9\u0633\u0627\u0646 \u0628\u0631\u0627\u06cc \u0646\u0642\u0627\u0637 \u0627\u0646\u062a\u0647\u0627\u06cc\u06cc API \u0645\u062e\u062a\u0644\u0641 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645 \u0648 \u062f\u0631 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u06a9\u0627\u0646\u200c\u0647\u0627 \u0628\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06cc\u06a9\u0633\u0627\u0646\u06cc \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a.<br \/><strong>HttpClient \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0631\u062f\u06cc\u062f:<\/strong> \u0627\u06af\u0631 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 \u06cc\u06a9 API \u062e\u0627\u0635 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0627\u0631\u06cc\u062f \u0648 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06a9\u067e\u0633\u0648\u0644\u0647 \u06a9\u0631\u062f\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0648 \u0633\u0647\u0648\u0644\u062a \u062a\u0633\u062a \u062f\u0627\u0631\u06cc\u062f.<\/p>\n<p><strong>\u062e\u0644\u0627\u0635\u0647<\/strong><\/p>\n<p>HttpClient \u0647\u0627\u06cc \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0648 \u062a\u0627\u06cc\u067e \u0634\u062f\u0647 \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP \u0631\u0627 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc ASP.NET Core \u0634\u0645\u0627 \u0622\u0633\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06af\u0631 \u0628\u0627 \u06cc\u06a9 API \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0644\u06cc \u062f\u0627\u0631\u062f\u060c Named HttpClient \u0631\u0627\u062d\u062a \u062a\u0631 \u0627\u0633\u062a. \u0627\u0645\u0627 \u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0645\u0633\u062a\u0642\u0644 \u0648 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0633\u0631\u0648\u06cc\u0633\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Typed HttpClient \u062a\u0631\u062c\u06cc\u062d \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0647\u0631 \u062f\u0648 \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0648\u062b\u0631 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc HttpClientFactory \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631 ASP.NET Core\u060c HttpClient \u0628\u0647 \u0637\u0648\u0631 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0627 HttpClientFactory \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u0624\u062b\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc HTTP \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u06cc\u0645. \u0645\u0641\u0627\u0647\u06cc\u0645 Named \u0648 Typed HttpClient \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0645 \u0647\u0633\u062a\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u0627\u0647\u06cc\u062a\u060c \u0645\u0632\u0627\u06cc\u0627 \u0648 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u062f\u0648 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f. HttpClient \u0646\u0627\u0645 \u062f\u0627\u0631\u062f \u0628\u0647 \u0646\u0627\u0645 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":90355,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-90354","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/90354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=90354"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/90354\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/90355"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=90354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=90354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=90354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}