Классический ASP: Server.CreateObject не поддерживается - PullRequest
3 голосов
/ 06 января 2009

Когда я вызываю Server.CreateObject (), с моей классической ASP-страницы я получаю

Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method

Я пробовал следующее (отдельно):

Server.CreateObject("Microsoft.XMLHTTP")
Server.CreateObject("MSXML2.XMLHTTP")
Server.CreateObject("MSXML.DOMDocument")

Я знаю, что объекты ActiveX установлены, потому что следующие вызовы javascript работают

var test = new ActiveXObject("Microsoft.XMLHTTP");
var test = new ActiveXObject("MSXML2.XMLHTTP");
var test = new ActiveXObject("MSXML.DOMDocument");

Я звоню с моего локального сервера IIS. Есть идеи, как решить эту проблему?

Ответы [ 3 ]

6 голосов
/ 06 января 2009

Если вы делаете следующее:

Dim x: x = Server.CreateObject("My.ProgID.Here")

... VBScript создает объект и затем пытается получить доступ к свойству по умолчанию для хранения в «x». Поскольку ни у одного из этих объектов не определено свойство по умолчанию (в частности, свойство на основе IDispatch с [id (DISPID_VALUE)]), произойдет сбой с «Объект не поддерживает это свойство или метод».

То, что вы на самом деле хотите, это:

Dim x: Set x = Server.CreateObject("My.ProgID.Here")
1 голос
/ 06 января 2009

Как насчет этого?

Set xml = Server.CreateObject ("MSXML2.ServerXMLHTTP")

Или загрузить этот компонент и установить на свой веб-сервер?

http://www.microsoft.com/downloads/details.aspx?FamilyId=3144B72B-B4F2-46DA-B4B6-C5D7485F2B42&displaylang=en

Затем перезапустите сервер и повторите попытку.

0 голосов
/ 06 января 2009

Вызов их из браузера не означает, что они установлены в IIS.

...