Массив байтов в классическом ASP - PullRequest
1 голос
/ 19 февраля 2009

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

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 19 февраля 2009

Классический 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

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

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

0 голосов
/ 20 февраля 2009

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

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

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

0 голосов
/ 19 февраля 2009

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

Dim bytes(stream.Length-1) As Byte
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...