我在Classic ASP中有200多个案例陈述失控。它根据选择的案例设置5个变量。地址,电话,姓名等。只是设置变量而不是每种情况。
数据库或文件不是此应用程序的选项。
来自Perl世界,我会使用哈希来存储此信息。
答案 0 :(得分:3)
失去控制?我认为它已经失控了!
您是否可以将案例分类为“x”一般区域并拆分为帮助程序?
答案 1 :(得分:3)
Brian,Perl哈希的经典ASP等价物是Scripting.Dictionary对象。
答案 2 :(得分:1)
取决于您对性能的要求。
case语句很难看,但不占用需要分配的内存。
但是,您可以为字段创建一个类,并将它们的实例加载到Dictionary中。在global.asp脚本中执行此操作,因此它只发生一次。将字典存储在全局asp集合中,使其仅分配一次,但与每次页面调用一起使用。
我的抱怨是因为这里没有太具体......已经有一段时间了。
答案 3 :(得分:1)
很多人使用VBScript for Classic ASP,但您可以在服务器上使用JavaScript / JScript作为替代方案。事实上,在我最终转向.NET之前,这是我首选的做经典ASP的方式(除了在某些情况下,你必须在特殊情况下混合VBScript,即Disconnected Recordset,ExecuteNoRecords等)。它将为您提供比VBScript更好的OOP支持。也许你可以尝试重构那种后来的策略模式。值得关注我想从长远来看更好的维护。
答案 4 :(得分:1)
您无法将其迁移到数据库或文本文件这一事实是一个问题,因为它们将是此类数据的最佳解决方案。但是,如果您必须在代码中使用它,您可以尝试将其放入您预定义的矩阵中。然后,您可以提供一个函数,该函数返回矩阵中给定行的数据。
答案 5 :(得分:0)
这应该用数据库来完成,但是因为你说这不是一个选项,所以你写的任何内容都不会比switch语句复杂,因为它们都需要存在于你的代码中(根据你的条款)没有数据库,没有文件)。
我的意思是,如果数据库的想法太复杂,您可以使用Excel电子表格,但从技术上讲,这也是一个文件!
答案 6 :(得分:0)
脚本字典是恕我直言的最佳选择。