Нужно ли мне позвонить на httpclient, когда это поле класса?C#

Место общения программистов C#
Ответить
Anonymous
 Нужно ли мне позвонить на httpclient, когда это поле класса?

Сообщение Anonymous »

Рассмотрим этот класс: < /p>

Код: Выделить всё

class MyClass
{
private readonly HttpClient _client = new HttpClient();

public async Task DoWork()
{
var result = await _client.GetStringAsync("https://example.com");
Console.WriteLine(result);
}
}
< /code>
HttpClient
реализует iDisposable (через httpmessageinvoker ), поэтому, если я правильно понимаю, я должен его распоряжаться, GC не сделает это для меня.class MyClass : IDisposable
{
private readonly HttpClient _client = new HttpClient();

public async Task DoWork()
{
var result = await _client.GetStringAsync("https://example.com");
Console.WriteLine(result);
}

public void Dispose()
{
_client.Dispose();
}
}
< /code>
What happens if I use the first snippet? Would I have a "memory leak"? Why is my IDE not complaining (Rider complains about many a thing when I code (mainly because I'm new to programming), so I was expecting it to say something)? What am I misunderstanding?


Подробнее здесь: https://stackoverflow.com/questions/797 ... of-a-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»