在WinCE ASP中创建页面范围对象

时间:2011-06-06 09:29:26

标签: asp-classic vbscript windows-ce

我必须在ASP中为WIN CE设备创建一个页面范围COM对象。 Win CE设备仅支持httpd服务器。

我尝试使用语句Server.CreateObject创建com对象以为其提供页面范围。但我收到以下错误

Parse error in script 
Microsoft VBScript runtime error: '800a01b6' 
Description: Object doesn't support this property or method: 'Server.CreateObject' 
In file: /Polycold_WebGUI/PolyCold_system_home.asp 
On line: 13 

我如何纠正这个问题?
我可以在Win CE ASP中为COM对象提供页面范围吗?

结果 方法GetUnitModelNumber递增成员变量并返回结果。最初值为0.每次执行GetUnitModelNumber时,值都将递增。由于默认对象生命周期是页面范围,我的期望是第二个CreateObject调用将返回已创建的对象,并且值将递增。但是当我执行下面的代码时,我得到0。 以下代码有什么问题?

Dim objAd1,man
 Set objAd1 = CreateObject("PolyColdDeviceCmds.SystemCmds")
 man1 = objAd1.GetUnitModelNumber()
 Set objAd1 = CreateObject("PolyColdDeviceCmds.SystemCmds")
 man2 = objAd1.GetUnitModelNumber()
 Response.Write(man2)
 Response.Write("<script language='javascript'> alert("""&man2&""");</script>")

1 个答案:

答案 0 :(得分:2)

如何纠正这些问题?

正如我提到here,你不能在asp-WinCE中使用Server.CreateObject,你应该只使用CreateObject。 asp-WinCE中的Server对象仅支持MapPathURLEncode。有关详细信息,请参阅MSDN中的this page。从这个页面:

  

服务器对象提供访问权限   服务器上的方法和属性。   大多数这些方法和属性   作为效用函数。该   下表显示了受支持的   服务器方法。

     

服务器方法 - Windows CE   实施

ScriptTimeout:不是   支持。
CreateObject:不支持   支持。
执行:不支持   支持。
GetLastError:没有   支持。
HTMLEncode:没有   支持。
MapPath:完全   支持。
转移:不   支持。
URLEncode:完全   支撑。

我可以在Win CE ASP中为COM对象提供页面范围吗?

页面范围是在asp页面中创建的任何COM对象的默认行为。有关详细信息,请参阅此MSDN reference。从这个页面:

  

您使用创建的对象   Server.CreateObject或HTML    ASP页面上的标签存在   该页面的持续时间。

此页面讨论Windows(桌面)中的经典asp,而不是Windows CE。因此,对于Windows CE,只需将Server.CreateObject替换为CreateObject,您就会得到相同的结果。