|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
Привет всем. У меня есть статический класс Class, в котором я вызываю метод Write и записываю определенные данные в файл. Бывает (редко), что доступа к файлу в данный момент нет и я записываю данные в MemoryStream: Код: c# 1. 2.
Вопрос: каким образом я могу достать данные из этого stream при следующем вызове статического метода Class.Write Код: c# 1.
если у меня уже нет этого экземпляра stream класса StreamReader (но данные всё ещё хранятся в оперативной памяти?) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 12:49 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
* всмысле нет экземпляра stream класса MemoryStream ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 12:50 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
а ты сохрани ссылку по этому случаю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 12:55 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
какую ссылку? https://www.google.ru/?gws_rd=cr&ei=ILJ4UqXsM6L-4QSWiYGQBA#newwindow=1&q=c# memorystream ссылки ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 13:00 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
Pallarisа ты сохрани ссылку по этому случаю вы имеете ввиду вообще делать без MemoryStream, а создавать ещё 1 файл и запоминать на него ссылку? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 13:04 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
Studentsвы имеете ввиду вообще делать без MemoryStream, а создавать ещё 1 файл и запоминать на него ссылку? Pallaris посоветовал тебе сохранять значение переменной stream в поле класса. Так как у тебя статический метод, то и поле должно быть статическим. На самом деле в твоем коде вообще не нужен MemoryStream. Для сохранения данных из byteArray достаточно сохранить сам массив. Не забывай что данные могут потеряться в случае потери питания поэтому возможно лучше сохранять их во временный локальный файл. P.S. Students Код: c# 1.
Ты точно уверен что тебе нужна ASCII кодировка? В ней есть только латинские символы, цифры и знаки препинания. Если в твоих данных нет кирилицы или других не-ASCII символов, то тогда нет проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 13:21 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
да, у меня в статическом классе включен FileSystemWatcher, который отслеживает изменения файлов. эти изменения я записываю в файл. проблема как раз в том, что файл иногда может быть недоступен. через поле не работает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47.
второй раз в консоли выводит пустое значение, хотя должен вывести ту же дату, как и в первый раз ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 13:49 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
если в классе Program прописать Код: c# 1. 2.
то данные доставать будет, но нужно внутри самого статического класса достать данные ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 14:04 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
Students, опереации чтения/записи с потоком изменяют позицию внутри него. Добавь в начало Read строку stream.Position = 0; Кроме того: а) убери свойство ms и б) поле stream лучше сделать private полем ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 14:06 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
да, сделал как вы написали. я подумал, что для таких случаев (когда файл недоступен) лучше создать отдельный класс по типу ClassHelper, как я написал выше. Теперь всё работает. Спасибо за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 14:12 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
bazileStudents, опереации чтения/записи с потоком изменяют позицию внутри него. Добавь в начало Read строку stream.Position = 0; Кроме того: а) убери свойство ms и б) поле stream лучше сделать private полем если сделать private, то я не смогу вызывать его из класса Program и доставать оттуда данные ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 14:13 |
|
Можно ли в оперативной памяти найти экземпляр класса MemoryStream?
|
|||
---|---|---|---|
#18+
Studentsесли сделать private, то я не смогу вызывать его из класса Program и доставать оттуда данные Для этого должен служить метод Read. То что класс ClassHelper использует MemoryStream для временного хранения данных являетя деталью реализации которые не надо напрасно "светить" наружу. В будущем будет труднее этот класс переделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 15:06 |
|
|
start [/forum/topic.php?fid=20&msg=38452858&tid=1403747]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
90ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 334ms |
total: | 522ms |
0 / 0 |