【问题标题】:Create Page Scope Object in WinCE ASP在 WinCE ASP 中创建页面范围对象
【发布时间】:2011-11-20 09:24:51
【问题描述】:

我必须在 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 对象提供 Page Scope 吗?

结果 方法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>")

【问题讨论】:

  • 如果您省略第二个 CreateObject 调用,它的行为是否符合您的预期?
  • “我的期望是第二个 CreateObject 调用将返回已经创建的对象(...)”,您为什么期待呢?如果你通过调用 CreateObject 来请求一个新对象,你会得到一个新对象...
  • @yms:我怎么能说它是 Page Scope?是不是我的理解有问题。是否可以在重新加载页面时使用该对象?
  • 您能告诉我们您的最终目标是什么吗?
  • @yms:我的目标是在第一次加载页面时创建一个对象。当用户在页面上执行某些操作时使用相同的对象,例如:清除警报,执行命令等。即使用户刷新页面后我也应该能够使用该对象

标签: asp-classic vbscript windows-ce


【解决方案1】:

我该如何解决这些问题?

正如我提到的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 对象提供 Page Scope 吗?

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多