2009-02-19 2 views
1

Как написать следующий код в классическом ASP? Я использую этот код в include-файле.Байт-массив в классическом ASP

byte[] bytes = new byte[stream.Length] 

Кроме того, было бы замечательно, если бы кто-нибудь может сказать, как создать объект для StreamWriter в классическом ASP.

Set sw = Server.CreateObject("System.IO.StreamWriter(stream)") 

Я не уверен относительно кода внутри котировок System.IO.StreamWriter(stream).

ответ

0

Я не думаю, что есть прямой перевод в StreamWriter. Мои классические знания ASP-объектов ограничены, но IIRC ближайшим совпадением будет FileSystemObject. Что касается массива байтов:

Dim bytes(stream.Length-1) As Byte 
2

Классический ASP - это просто старый VBScript. CreateObject создает COM-объект, используя classid/progid: CreateObject («ADODB.Connection») или CreateObject («Scripting.FileSystemObject»).

Классический ASP может использовать COM-объекты, которые на самом деле являются объектами .NET ... но только если они были созданы специально для поддержки взаимодействия с COM. Большинство внутренних компонентов .NET не были созданы, поддерживая взаимодействие COM.

См: http://msdn.microsoft.com/en-us/library/zsfww439.aspx

Если вам нужен только поток объект (не necesarily объект System.IO.Stream .NET), то я бы рекомендовал ADODB.stream.

Также не в ASP/VBScript все переменные являются вариантами. Это делает вещи вроде массива байт сложными. У вас может быть множество вариантов неважно, и все варианты могут быть байтами ... но вы не можете создать массив, который может только содержать байты. Чтобы сделать вещи более странными ... если COM-объект возвращает SAFEARRAY из байтов, то ASP/VBScript с удовольствием его использует.

0

Не уверен, что вы хотите сделать, но ..

Когда я хотел обрабатывать массивы байтов из VBScript подобно BLOB приходит из базы данных я сделал общий VB6 COM-объект, который может выполнять операции на массив байтов ,

http://www.di-mgt.com.au/bytearrays.html

Смежные вопросы