CS1929 'IHttpClientFactory'에 'GetFromJsonAsync'에 대한 정의가 없습니다.

sdfghjkl

Blazor 서버 프로젝트의 Razor 구성 요소 페이지 Index.razor에 "CS1929- 'IHttpClientFactory'에 'GetFromJsonAsync'에 대한 정의가 포함되어 있지 않습니다."라는 메시지가 나타납니다. 구성 요소를 데이터베이스에 연결하기 위해 http 요청을하려고합니다.

다음은 index.razor의 코드입니다.

@page "/people"
@inject IHttpClientFactory httpClientFactory

<h3>People</h3>

@if (people == null)
{<text>Loading...</text>}
else if (people.Length == 0)
{ <text>No people have been added to this database.</text>}
else
{
<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Title</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Phone Number</th>
            <th>Email ID</th>
            <th>Address</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var person in people)
        {
            <tr>
                <td><a>Edit</a><button>Delete</button></td>
                <td>@person.ID</td>
                <td>@person.Title</td>
                <td>@person.FirstName</td>
                <td>@person.LastName</td>
                <td>@person.PhoneNumber</td>
                <td>@person.Email</td>
                <td>@person.Address</td>

            </tr>
        }
    </tbody>
</table>
}

@code {
    Person[] people { get; set; }

    protected override async Task OnInitializedAsync()
    {
        await LoadPeople();
    }
     
    async Task LoadPeople() => people = await httpClientFactory.GetFromJsonAsync<Person[]>("api/people");
}

그리고 라인을 추가 services.AddHttpClient();아래 public void ConfigureServices(IServiceCollection services)Startup.cs에

오류는 단어 httpClientFactory줄에 있습니다.async Task LoadPeople() => people = await httpClientFactory.GetFromJsonAsync<Person[]>

나는 그것을 아래로 바꾸려고 시도했지만 더 많은 오류가 발생하여 제거했습니다.

var http = httpClientFactory.CreateClient();
async Task LoadPeople() => people = await http.GetFromJsonAsync<Person[]("api/people");

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? http를 연결하는 동안 이전 문제를 해결할 때마다 새로운 문제가 발생했습니다.

enet

System.Net.Http.Json 패키지를 설치해야합니다 ...

System.Text.Json을 사용하여 자동 직렬화 및 역 직렬화를 수행하는 System.Net.Http.HttpClient 및 System.Net.Http.HttpContent에 대한 확장 메서드를 제공합니다.

너겟 콘솔에서 이것을 실행하십시오.

Install-Package System.Net.Http.Json -Version 3.2.1

코드 샘플 :

public void ConfigureServices(IServiceCollection services)
{
   // Chnage the url to yours
    services.AddHttpClient("ServerAPI", client => client.BaseAddress = 
        new Uri("https://localhost:44371/"));

    services.AddTransient(sp => 
           sp.GetRequiredService<IHttpClientFactory> 
           ().CreateClient("ServerAPI"));

}

그리고 FetchData 페이지에서 :

@inject HttpClient  httpClient

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CS1929 C # 'RfcParameterClass'에 'Cast'에 대한 정의가 없습니다.

분류에서Dev

CS1061 'IConfigurationSection'에 'Bind'에 대한 정의가 없습니다.

분류에서Dev

CS1061 'IConfigurationSection'에 'Bind'에 대한 정의가 없습니다.

분류에서Dev

CS1928 : 'System.Web.Mvc.HtmlHelper'에 'DropDownListFor'에 대한 정의가 없습니다.

분류에서Dev

IGrouping에는 다음에 대한 정의가 없습니다.

분류에서Dev

오류 (CS1061) : 'System.Collections.Generic.List <Rhino.Geometry.Brep>'에 다음에 대한 정의가 없습니다.

분류에서Dev

IApplicationBuilder에 UseIdentity에 대한 정의가 없습니다.

분류에서Dev

개체에 Navigated에 대한 정의가 없습니다.

분류에서Dev

Mapper에는 Initialize AutoMapper C #에 대한 정의가 없습니다.

분류에서Dev

'IIdentity'에 'Score'에 대한 정의가 없습니다.

분류에서Dev

C # '개체'에 "분할"에 대한 정의가 없습니다.

분류에서Dev

'SwaggerGenOptions'에 'SerializeAsV2'에 대한 정의가 없습니다.

분류에서Dev

SqlKata.Execution.XQuery '에'Update '에 대한 정의가 없습니다.

분류에서Dev

DbSet에 AddorUpdate에 대한 정의가 없습니다.

분류에서Dev

DataGridBoundColumn에 BindingProperty에 대한 정의가 없습니다.

분류에서Dev

'SubscriptionClient'에 'PeekBatch'및 ReceiveBatch에 대한 정의가 없습니다.

분류에서Dev

VideoViewRenderer '에'Init '에 대한 정의가 없습니다.

분류에서Dev

'IEnumerable <>'에 'OrderBy'에 대한 정의가 없습니다.

분류에서Dev

RSACng에는 ExportRSAPrivateKey에 대한 정의가 없습니다.

분류에서Dev

'List <int>'에 'Last'에 대한 정의가 없습니다.

분류에서Dev

'DataTable'에 '열'에 대한 정의가 없습니다.

분류에서Dev

IdentityUserLogin에 사용자에 대한 정의가 없습니다.

분류에서Dev

"목록에 채우기에 대한 정의가 없습니다."

분류에서Dev

'System.IO.Directory'에 'EnumerateDirectories'에 대한 정의가 없습니다.

분류에서Dev

'System.IO.Directory'에 'EnumerateDirectories'에 대한 정의가 없습니다.

분류에서Dev

'... DataType'에 '이메일'에 대한 정의가 없습니다.

분류에서Dev

'MyUserControls.ComboBox1'에 'ItemsSource'에 대한 정의가 없습니다.

분류에서Dev

'System.Type'에 'GenericTypeArguments'에 대한 정의가 없습니다.

분류에서Dev

'Series2'에 'GetEnumerator'에 대한 정의가 없습니다.

Related 관련 기사

  1. 1

    CS1929 C # 'RfcParameterClass'에 'Cast'에 대한 정의가 없습니다.

  2. 2

    CS1061 'IConfigurationSection'에 'Bind'에 대한 정의가 없습니다.

  3. 3

    CS1061 'IConfigurationSection'에 'Bind'에 대한 정의가 없습니다.

  4. 4

    CS1928 : 'System.Web.Mvc.HtmlHelper'에 'DropDownListFor'에 대한 정의가 없습니다.

  5. 5

    IGrouping에는 다음에 대한 정의가 없습니다.

  6. 6

    오류 (CS1061) : 'System.Collections.Generic.List <Rhino.Geometry.Brep>'에 다음에 대한 정의가 없습니다.

  7. 7

    IApplicationBuilder에 UseIdentity에 대한 정의가 없습니다.

  8. 8

    개체에 Navigated에 대한 정의가 없습니다.

  9. 9

    Mapper에는 Initialize AutoMapper C #에 대한 정의가 없습니다.

  10. 10

    'IIdentity'에 'Score'에 대한 정의가 없습니다.

  11. 11

    C # '개체'에 "분할"에 대한 정의가 없습니다.

  12. 12

    'SwaggerGenOptions'에 'SerializeAsV2'에 대한 정의가 없습니다.

  13. 13

    SqlKata.Execution.XQuery '에'Update '에 대한 정의가 없습니다.

  14. 14

    DbSet에 AddorUpdate에 대한 정의가 없습니다.

  15. 15

    DataGridBoundColumn에 BindingProperty에 대한 정의가 없습니다.

  16. 16

    'SubscriptionClient'에 'PeekBatch'및 ReceiveBatch에 대한 정의가 없습니다.

  17. 17

    VideoViewRenderer '에'Init '에 대한 정의가 없습니다.

  18. 18

    'IEnumerable <>'에 'OrderBy'에 대한 정의가 없습니다.

  19. 19

    RSACng에는 ExportRSAPrivateKey에 대한 정의가 없습니다.

  20. 20

    'List <int>'에 'Last'에 대한 정의가 없습니다.

  21. 21

    'DataTable'에 '열'에 대한 정의가 없습니다.

  22. 22

    IdentityUserLogin에 사용자에 대한 정의가 없습니다.

  23. 23

    "목록에 채우기에 대한 정의가 없습니다."

  24. 24

    'System.IO.Directory'에 'EnumerateDirectories'에 대한 정의가 없습니다.

  25. 25

    'System.IO.Directory'에 'EnumerateDirectories'에 대한 정의가 없습니다.

  26. 26

    '... DataType'에 '이메일'에 대한 정의가 없습니다.

  27. 27

    'MyUserControls.ComboBox1'에 'ItemsSource'에 대한 정의가 없습니다.

  28. 28

    'System.Type'에 'GenericTypeArguments'에 대한 정의가 없습니다.

  29. 29

    'Series2'에 'GetEnumerator'에 대한 정의가 없습니다.

뜨겁다태그

보관