, когда я использую объект StreamSocket
и возвращаю свойство IInputStream или IOutputStream
в код клиентов. Эти интерфейсы наследуются от IDisposable
. И при вызове метода Dispose
, я ожидаю, какой экземпляр StreamSocket
будет удален. Но ничего не происходит, а TCP-соединение не закрывается. Что делает метод Dispose
, когда объект передается на один из этих интерфейсов? Спасибо.Dispose IInputStream
ответ
Утилизация флагов объекта, доступного для сбора мусора. Если автор объекта, который был закрыт в потоке из метода Dispose, вы можете или не можете сразу увидеть поток.
Ждут, подождите. Вы получаете IInputStream и IOutputStream. Почему вы ожидаете, что вызов Dispose на этих объектах, которые вы получили из свойств, должен закрыть соединение StreamSocket? Вызовите Dispose непосредственно на объекте StreamSocket.
Держу пари, что вызов dispose on streams обеспечивает очистку этих потоков и их закрытие. Но я не уверен, что после этого вы не сможете повторно использовать одно и то же соединение. –
Хорошо. Что делает метод Dispose при перемещении объекта StreamSocket на один из этих интерфейсов? – Serg
Извините, но я не могу вас понять. StreamSocket _can not_ будет передан в IInputStream или IOutputStream, потому что класс StreamSocket не реализует эти итерации. 'streamSocketObject is IInputStream' -> всегда' false' 'streamSocketObject is IOutputStream' -> всегда' false' Насколько я вижу, единственными интерфейсами, к которым вы можете применить объект типа StreamSocket, являются 'IDisposable',' IStreamSocket', 'IStreamSocket2'. И вызов toc Dispose on IDisposable удаляет одноразовый StreamSocket (и закрывает соединение). –
- 1. WinJS: IInputStream from String
- 2. Преобразовать строку IInputStream в C#
- 3. Отменить dispose inside Dispose method
- 4. Как переносить Windows.Storage.Streams.IInputStream в интерфейс IInputStream?
- 5. C# IInputStream отсутствует сегментированный пакет TCP
- 6. Dispose PictureBox
- 7. Как использовать StoredContact.SetDisplayPictureAsync (поток IInputStream) в Windows Phone 8?
- 8. Font dispose - Практическое руководство. Реализация шаблона Dispose Finalize (Visual Basic)
- 9. Назначение Dispose вызов Dispose (IsDisposing) шаблон в C#?
- 10. Strange 'Dispose' при вызове с 'помощью' или прямого вызова 'Dispose'
- 11. monotouch dispose UIWebView
- 12. Исключение обработки в Dispose()
- 13. NUnit- Object dispose
- 14. Почему Dispose вызывается?
- 15. e.getWindow(). Dispose() не работает?
- 16. TcpClient dispose order
- 17. PictureBox Показать и Dispose
- 18. private void Dispose (bool)?
- 19. Dispose Object RestRequest RestSharp?
- 20. C# dispose UserControl Thread
- 21. C# cachedependency dispose pattern
- 22. C# Dispose pattern
- 23. Dispose писатель после MemoryStream
- 24. Неуправляемые ресурсы и Dispose()
- 25. Timer dispose in C#
- 26. StreamWriter внутри Dispose
- 27. Libgdx - Image class dispose
- 28. CacheManager и Dispose
- 29. Mass Dispose, лучший способ?
- 30. PictureBox и Dispose
GC не является детерминированным, поэтому его нельзя сразу удалить. Во-вторых, мы понятия не имеем, как вы вызываете dispose, поэтому, возможно, этот метод даже не вызван .... –
Как вы знаете, что соединение не закрывается? – Steve