嗨我有一个关于我的服务器性能的问题...我有一个经典的asp cms托管~250个网站,我们为每个网站建立一个经典的ASP字典使用
set dict = CreateObject("Scripting.Dictionary")
dict.add "test1","Value Test1"
dict.add "test2","Value Test2"
dict.add "test3","Value Test3"
Run Code Online (Sandbox Code Playgroud)
然后为每个用户在每个页面上加载该字典...
假设我们每月大约有15万用户访问这些网站每月加载大约~100k的字典...
我应该使用应用程序变量作为字典而不是每次都加载我的字典?
它真的会提高我的服务器性能吗?
vbscript optimization dictionary asp-classic scripting.dictionary
我有以下格式:Value1是{0},Value2是{1}.
我需要用字符串替换括号中的数字.这在大多数语言中都可以使用string.Format或其他类似的东西轻松完成.我怎么能只使用vbscript呢?
我试过了:
Replace (strFormat, "{0}", value1)
Replace (strFormat, "{1}", value2)
Run Code Online (Sandbox Code Playgroud)
这是行不通的.有解决方案吗
我一直在使用ADO VBScript,它需要接受参数并将这些参数合并到传递数据库的Query字符串中.当记录集对象尝试打开时,我不断收到错误.如果我传递没有参数的查询,记录集将打开,我可以处理数据.当我通过调试器运行脚本时,命令对象不显示参数对象的值.在我看来,我错过了与Command对象和Parameter对象相关联的东西,但我不知道是什么.这里有一些VBScript代码:
...
'Open Text file to collect SQL query string'
Set fso = CreateObject("Scripting.FileSystemObject")
fileName = "C:\SQLFUN\Limits_ADO.sql"
Set tso = fso.OpenTextFile(fileName, FORREADING)
SQL = tso.ReadAll
'Create ADO instance'
connString = "DRIVER={SQL Server};SERVER=myserver;UID=MyName;PWD=notapassword; Database=favoriteDB"
Set connection = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
connection.Open connString
cmd.ActiveConnection = connection
cmd.CommandText = SQL
cmd.CommandType = adCmdText
Set paramTotals = cmd.CreateParameter
With paramTotals
.value = "tot%"
.Name = "Param1"
End With
'The error occurs on the next line'
Set recordset = cmd.Execute
If recordset.EOF …Run Code Online (Sandbox Code Playgroud) 我编写了一个小的VBScript来创建.zip文件,然后将指定文件夹的内容复制到该.zip文件中.
我出于某种原因逐个复制文件(我知道我可以一次完成所有这些).但是我的问题是,当我尝试在没有WScript的情况下逐个复制它们.在每次循环迭代之间,我得到一个"找不到文件或没有读取权限".错误; 如果我WScript.Sleep 200在每次写入后放置它有效但不是100%的时间.
我想摆脱Sleep功能并不依赖于它,因为根据文件大小的不同,写入可能需要更长的时间,因此200毫秒可能还不够.
正如您可以看到下面的一小段代码,我遍历文件,然后如果它们与扩展名匹配,我将它们放入.zip(zipFile)
For Each file In folderToZip.Items
For Each extension In fileExtensions
if (InStr(file, extension)) Then
zipFile.CopyHere(file)
WScript.Sleep 200
Exit For
End If
Next
Next
Run Code Online (Sandbox Code Playgroud)
关于如何停止依赖睡眠功能的任何建议?
谢谢
我正在尝试制作一个压缩MS Access 2007数据库文件的小型VBScript.
我的代码是:
Set acc2007 = CreateObject("DAO.DBEngine.36")
acc2007.CompactDatabase "C:\test.accdb", "C:\test2.accdb", Nothing, Nothing, ";pwd=test"
Set acc2007 = NothingRun Code Online (Sandbox Code Playgroud)
当我使用32位cmd.exe中的"cscript test.vbs"运行三行时,我收到此错误:
C:\ test.vbs(10,1)DAO.DbEngine:无法识别的数据库格式'C:\ test.accdb'.
数据库是使用MS Access 2007创建的,当我通过双击图标打开它时,我键入密码"test",然后我正常打开.它在顶部显示"Access 2007",因此它具有正确的格式.
这里是我正在尝试使用的函数的文档:http://msdn.microsoft.com/en-us/library/bb220986.aspx
DAO.DBEngine.36对象已成功创建,因为我没有在该行上收到任何错误.有什么不对?
我正在使用vbscript安装网络打印机,如果队列不存在或打印机服务器不可用,我想显示一个友好的错误,我可以使用VBScript吗?我的代码如下.
Dim net
Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\printsrv\HPLaser23"
net.SetDefaultPrinter "\\printsrv\HPLaser23"
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助
史蒂芬
一年前我必须在学校学习PHP,我已经知道ActionScript3所以它并不那么困难,并且和我的一个朋友一起,我们是学校的前两个用PHP学习OOP的人.这不是必需的,但我们认为这很重要.
去年我开始学习C#和ASP.NET,但我在C#和ASP.NET方面远非专业,我为自己做了一些项目,仅用于教育目的.
现在几天前我开始实习(这应该需要6个月)但是该公司仍然使用ASP Classic和VBScript.
是否值得去年学习ASP.NET和C#,现在启动ASP Classic和VBScript 6个月,之后可能继续使用ASP.NET和C#?
我想对此有一些看法,因为我不知道我是否应该留下来做ASP Classic,或者去寻找另一个我可以做ASP.NET的实习.
我在VBScript中做了一些性能测量.我想测量算法的执行速度
t1 = Now()
doAlotOfWork ()
t2 = Now()
MsgBox "Operation took " & DateDiff ("s", t1, t2) & " seconds."
Run Code Online (Sandbox Code Playgroud)
这给了我几秒钟的时间.如果一个算法导致1秒执行时间而另一个算法导致2秒钟,这几乎不会给我任何有用的信息.我需要将问题大小炸成一段需要一分钟才能执行的东西.
有没有人知道在VBScript中进行这些测量的方法,但随后更精细.例如,引入毫秒的东西.
我觉得WMI必须有一个解决方案.
我可以使用签名来调用COM方法
HRESULT Foo(BSTR in, [out] BSTR * out1, [out] BSTR * out2)
Run Code Online (Sandbox Code Playgroud)
来自VBScript?
下列:
Dim a;
Dim b;
component.Foo "something", a, b
Run Code Online (Sandbox Code Playgroud)
给出了关于不兼容类型的错误.
我仍然可以改变方法的签名.
我有以下.VBS脚本,它可以工作,但它只返回前100行(97)行的数据.我如何获得完整列表?
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_MSMQ_MSMQQueue",,48)
For Each objItem in colItems
Wscript.Echo objItem.Name & " - " & objItem.MessagesinQueue
Next
Run Code Online (Sandbox Code Playgroud) vbscript ×10
asp-classic ×2
ado ×1
asp.net ×1
benchmarking ×1
c# ×1
com ×1
compression ×1
database ×1
dictionary ×1
formatting ×1
ms-access ×1
optimization ×1
sleep ×1
timer ×1
wmi ×1
wsh ×1