Результаты поиска по запросу "idisposable"

6 ответов

Чтобы поместить вещи в «ресурсы», объект получает ресурс, когда он просит внешнюю сущность сделать что-то от его имени (как правило, хотя и не обязательно, предоставляя исключительное использование чего-либо) до дальнейшего уведомления, и освобождает ресурс, когда он говорит, что внешнему субъекту его услуги больше не требуются. Код, который получает ресурс, не получает «вещь» в той степени, в которой он берет на себя обязательство; Освобождение ресурса не оставляет «вещь», но выполняет обязательство.

в .NET есть сборка мусора, тогда зачем вам явно вызыватьIDisposable?

1 ответ

это не полный пример @ MSDN: MSDN показывает только реализацию базового класса, а не пример базового класса / производного класса.

ользую шаблон реализации по умолчанию (шаблон) для моего кода. фрагмент кода: public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool isDisposing) { if (!this.disposed) { if (isDisposing) { ...

4 ответа

Возможно, разрешенный вами интерфейс не наследуется от IDisposable, но фактический используемый класс обслуживания делает? Как справиться с этим? и т.п.

жен рассмотреть код, сделанный другим человеком, у которого есть некоторые утечки памяти. Прямо сейчас я ищу в одноразовых объектах их код с помощью оператора using, и я хотел бы знать, есть ли быстрый способ, который сообщает вам все объявленные ...

ТОП публикаций

8 ответов

 работает, как описано, когда отладчик не подключен, потому что когда отладчик подключен, меня больше беспокоит, что он сломается в нужном месте при первом исключении. Вы можете изменить по мере необходимости.

квивалентного механизма в C ++ (деструктор) совет состоит в том, чтоэто обычно не должно бросать какие-либо исключения [http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.3], Это происходит главным образом потому, что таким образом вы ...

6 ответов

«Создатель - владелец» - это возможное руководство по дизайну, но, как уже указывает ваш ответ: не всегда понятно, кто является создателем (заводской или заводской клиент?). Желательно четко и явно задокументировать это. Как показывает мой собственный ответ, вы можете даже передать право собственности.

я есть объект, который стоит дорого создать, который использует некоторые неуправляемые ресурсы, которые должны быть явно освобождены, когда это делается, и поэтому реализуют IDisposable (). Я хотел бы, например, кэш этих дорогих ресурсов, чтобы ...

3 ответа

Управление прототипами, с другой стороны, является полностью ответственностью вызывающего кода.

я есть вопрос, и я собираюсь отметить этосубъективный так как это то, что я думаю, это превращается в большую дискуссию. Я надеюсь на некоторые хорошие идеи или провокаторов. Я прошу прощения за многословный вопрос, но вы должны ...

19 ответов

The only real exception to this would be if you have a lot of memory tied up in managed objects and you've blocked that thread waiting for some operation to complete. If those objects where not going to be needed after that call completed then setting those references to null might allow the garbage collector to collect them sooner. But that scenario would represent bad code that needed to be refactored - not a use case of IDisposable.

ю из чтениядокументация MSDN [http://msdn.microsoft.com/en-us/library/system.idisposable.aspx]что «основное» использованиеIDisposable Интерфейс для очистки неуправляемых ресурсов. Для меня «неуправляемый» означает такие вещи, как соединения с ...

3 ответа

Я был бы обеспокоен тем, чтобы одноразовые объекты на сессии. Это почти наверняка создаст проблему масштабируемости для вас. Все, что может быть удалено, вероятно, связано с каким-то ограниченным ресурсом. Если у вас много активных сеансов, вы, вероятно, будете использовать этот ресурс. Во-вторых, я ожидаю, что многие (большинство?) Одноразовые объекты не будут хорошо работать в веб-ферме, так как ресурс, к которому они привязаны, вероятно, является локальным для одной машины, и они не будут сериализованы, а затем десериализованы на другой машине в той же машине. государство.

.NET, если элементы, оставленные в состоянии сеанса, которые реализуют IDisposable, но которые никогда специально не удаляются и не удаляются приложением после истечения сеанса, будут вызывать метод Dispose для объектов, которые будет выполнять ...

12 ответов

Работа с .NET IDisposable объектами

Я работаю в C #, и я был довольно слаб в использовании

11 ответов

Перехват исключения внутри IDisposable.Dispose

вIDisposable.Dispose Есть ли способ выяснить, генерируется ли исключение? using (MyWrapper wrapper = new MyWrapper()) { throw new Exception("Bad error."); }Если исключение выдается вusing заявление, которое я хочу знать об этом, когдаIDisposable ...