Вопросы с тегом «idisposable»

IDisposable - это интерфейс в библиотеке базовых классов Microsoft .NET Framework (BCL). Он предназначен для предоставления универсального детерминированного метода освобождения неуправляемых ресурсов в коде приложения .NET.

19
Правильное использование интерфейса IDisposable
Из документации Microsoft я знаю, что «основное» использование IDisposableинтерфейса - очистка неуправляемых ресурсов. Для меня «неуправляемый» означает такие вещи, как соединения с базой данных, сокеты, дескрипторы окон и т. Д. Но я видел код, в котором Dispose()метод реализован для освобождения управляемых ресурсов, что мне кажется избыточным, поскольку сборщик мусора должен …

13
Использование метода Finalize / Dispose в C #
C # 2008 Я работал над этим некоторое время, и я все еще не уверен в использовании методов finalize и dispose в коде. Мои вопросы ниже: Я знаю, что нам нужен только финализатор при утилизации неуправляемых ресурсов. Однако, если есть управляемые ресурсы, которые выполняют вызовы к неуправляемым ресурсам, нужно ли …

12
HttpClient и HttpClientHandler должны быть расположены между запросами?
System.Net.Http.HttpClient и System.Net.Http.HttpClientHandler в .NET Framework 4.5 реализуют IDisposable (через System.Net.Http.HttpMessageInvoker ). В usingзаявлении говорится: Как правило, когда вы используете объект IDisposable, вы должны объявить и создать его экземпляр в операторе using. Этот ответ использует этот шаблон: var baseAddress = new Uri("http://example.com"); var cookieContainer = new CookieContainer(); using (var handler …



10
Должен ли я Dispose () DataSet и DataTable?
DataSet и DataTable оба реализуют IDisposable, поэтому, согласно общепринятым рекомендациям, я должен вызывать их методы Dispose (). Однако из того, что я прочитал, DataSet и DataTable на самом деле не имеют никаких неуправляемых ресурсов, поэтому Dispose () на самом деле ничего не делает. Кроме того, я не могу просто использовать, …

5
Будет ли Dispose () вызываться в операторе using с нулевым объектом?
Безопасно ли использовать usingоператор для (потенциально) нулевого объекта? Рассмотрим следующий пример: class Test { IDisposable GetObject(string name) { // returns null if not found } void DoSomething() { using (IDisposable x = GetObject("invalid name")) { if (x != null) { // etc... } } } } Гарантируется ли, что Disposeон …
179 c#  idisposable  using 

5
Должен ли я вызвать Close () или Dispose () для потоковых объектов?
Такие классы, как Stream, StreamReaderи StreamWriterт. Д. Реализует IDisposableинтерфейс. Это означает, что мы можем вызывать Dispose()метод для объектов этих классов. Они также определили publicметод с именем Close(). Теперь это смущает меня, что я должен назвать, как только я закончу с объектами? Что если я позвоню обоим? Мой текущий код такой: …

7
Как предотвратить распространение IDisposable на все ваши классы?
Начните с этих простых занятий ... Скажем, у меня есть простой набор таких классов: class Bus { Driver busDriver = new Driver(); } class Driver { Shoe[] shoes = { new Shoe(), new Shoe() }; } class Shoe { Shoelace lace = new Shoelace(); } class Shoelace { bool tied …

9
Будет ли сборщик мусора вызывать IDisposable. Утилизировать для меня?
.NET IDisposable Pattern подразумевает, что если вы пишете финализатор и внедряете IDisposable, ваш финализатор должен явно вызывать Dispose. Это логично, и это то, что я всегда делал в тех редких ситуациях, когда требуется финализатор. Однако, что произойдет, если я просто сделаю это: class Foo : IDisposable { public void Dispose(){ …

5
Что произойдет, если я вернусь до окончания использования оператора? Будет ли вызвана диспозиция?
У меня есть следующий код using(MemoryStream ms = new MemoryStream()) { //code return 0; } dispose()Метод вызывается в конце usingзаявления брекет }правильно? Так как I returnдо конца usingоператора, будет ли MemoryStreamобъект размещен должным образом? Что здесь происходит?

7
Как узнать, удалена ли ссылка на объект IDisposable?
Есть ли метод или какой-то другой легкий способ проверить, есть ли ссылка на удаленный объект? PS - Это просто любопытство (спи спокойно, а не в продакшене). Да, я знаю, что могу поймать это ObjectDisposedExceptionпри попытке доступа к члену объекта.
86 c#  .net  dispose  idisposable 

2
ASP MVC: когда вызывается IController Dispose ()?
Я прохожу большой рефакторинг / настройку скорости одного из моих больших приложений MVC. Он был развернут в производственной среде в течение нескольких месяцев, и я начинал получать таймауты на ожидание подключений в пуле подключений. Я отследил проблему до того, что соединения не удаляются должным образом. В свете этого я внес …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.