我必须在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>")
答案 0 :(得分:2)
如何纠正这些问题?
正如我提到here,你不能在asp-WinCE中使用Server.CreateObject
,你应该只使用CreateObject
。 asp-WinCE中的Server对象仅支持MapPath
和URLEncode
。有关详细信息,请参阅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
,您就会得到相同的结果。