Vb.net -использование переменных сеанса, установленных для объектов
Всем привет,
Я пытаюсь установить и получить переменные сеанса. На самом деле это memorystream и stream writer.
Я установил их в global.aspx таким образом -
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) Dim memoryStream As New System.IO.MemoryStream() Dim textWriter As System.IO.TextWriter = New System.IO.StreamWriter(memoryStream) Dim bytesInStream As Byte() End Sub
это, кажется, работает. Во всяком случае, никаких ошибок.
Что я уже пробовал:
В функции in a на странице aspx.vb я вызываю эти переменные сеанса -
Сессия ("textWriter").WriteLine ("тест")
Никаких ошибок при предварительном просмотре, но когда я запускаю его, он выдает исключение - "объектная переменная или с блочной переменной не задана."
Это не в цикле или с блоком, так что я думаю, что он не видит переменную сеанса ???? Но только когда вы запускаете код? Как я уже сказал, это не проявляется как ошибка в самом коде.
Действительно застрял, есть идеи? Или, если уж на то пошло, как я мог бы установить эти объекты один раз даже на другой .aspx page_load sub и иметь возможность видеть их в функции на другой странице .aspx?
Я не могу установить их на странице, на которой находится функция, потому что страница aspx.vb загружается много раз, когда клиент AJAX вызывает ее, и она должна продолжать добавляться к потоку памяти.
jkirkerx
WriteLine? Куда писать-то? чтобы написать строку на веб-странице, текст должен быть в ответном выводе HTML like Response.письменный текст")
Что вы пытаетесь сохранить, как образ?
Member 12637386
Writeline записывает текст в поток памяти, который я позже загружу в виде текстового файла. См. код выше в блоке application_start (который на самом деле должен быть session_start)
Dim memoryStream как новый System. IO. MemoryStream()
Дим textwriter в качестве системы.ИО.Textwriter В = Новой Системы.ИО.Модулю записи StreamWriter(потоке MemoryStream)
jkirkerx
Да, но сеанс-это объект, которым управляет веб-сервер, и это просто строка или примитивный объект. Asp.net предоставляет доступ к сеансу на веб-сервере под названием Session.
Возможно,Вам удастся сохранить строку байтов base64 в сеансе. Создайте массив байтов и преобразуйте его в строку base64 и наоборот.