|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。asp+|web|服务器今天一个伴侣有个需求,是要经由过程WEB体例,修正IIS上的工夫,因为他的体系是ASP3.0下开辟的,以是本例子的代码是ASP的,不是ASP.NET,可是自己写这个文章是想举一反三,究竟编写程序关头的不是言语,更主要的是一种头脑,把程序言语了解为一种工具,把编程头脑了解为办理成绩的思绪和办法,那末编写出来的程序就是:使用“工具”依照办理成绩的“头脑”往办理一个成绩。
起首,要感激网友“小虎”,我是在网上看了他写的一篇关于用VB6.0编写DLL组件FORASP的文章改写的,他的DLL代码只完成了改写小时和分钟,我增添了年、月、日、秒的修正。
起首,在VB6.0中创建一个ActiveXDll工程项目,信息以下:
工程称号:systimeset
类模块称号:timeset
VB6.0的类模块代码以下:
1OptionExplicit
2PrivateSystemTimeAsSystemTime
3PrivateDeclareFunctionSetSystemTime()FunctionSetSystemTimeLib"kernel32"(lpSystemTimeAsSystemTime)AsLong
4PrivateTypeSystemTime
5wYearAsInteger
6wMonthAsInteger
7wDayOfWeekAsInteger
8wDayAsInteger
9wHourAsInteger
10wMinuteAsInteger
11wSecondAsInteger
12wMillisecondsAsInteger
13EndType
14
15Dimtmp
16
17Privatem_HourAsInteger
18Privatem_MinuteAsInteger
19Privatem_YearAsInteger
20Privatem_MonthAsInteger
21Privatem_DayAsInteger
22Privatem_SecondAsInteger
23
24由李锡远修正修正日期:2006-08-31修正项目:增添对年、月、日、秒的操纵
25--------------------
26年
27PublicPropertyGet()PropertyGetYear()AsInteger
28Year=m_Year
29EndProperty
30PublicPropertyLet()PropertyLetYear(tmp_YearAsInteger)
31m_Year=tmp_Year
32EndProperty
33--------------------
34月
35PublicPropertyGet()PropertyGetMonth()AsInteger
36Month=m_Month
37EndProperty
38PublicPropertyLet()PropertyLetMonth(tmp_MonthAsInteger)
39m_Month=tmp_Month
40EndProperty
41--------------------
42日
43PublicPropertyGet()PropertyGetDay()AsInteger
44Day=m_Day
45EndProperty
46PublicPropertyLet()PropertyLetDay(tmp_DayAsInteger)
47m_Day=tmp_Day
48EndProperty
49--------------------
50秒
51PublicPropertyGet()PropertyGetSecond()AsInteger
52Second=m_Second
53EndProperty
54PublicPropertyLet()PropertyLetSecond(tmp_SecondAsInteger)
55m_Second=tmp_Second
56EndProperty
57
58
59
60PublicPropertyGet()PropertyGetHour()AsInteger
61Hour=m_Hour
62EndProperty
63PublicPropertyLet()PropertyLetHour(tmp_HourAsInteger)
64m_Hour=tmp_Hour
65EndProperty
66PublicPropertyGet()PropertyGetMinute()AsInteger
67Minute=m_Minute
68EndProperty
69PublicPropertyLet()PropertyLetMinute(tmp_MinuteAsInteger)
70m_Minute=tmp_Minute
71EndProperty
72
73
74
75
76PublicFunctionsetup()Functionsetup()AsInteger
77SystemTime.wDay=Day
78SystemTime.wDayOfWeek=1
79SystemTime.wMilliseconds=0
80SystemTime.wMonth=Month
81SystemTime.wSecond=Second
82SystemTime.wYear=Year
83SystemTime.wHour=Hour
84SystemTime.wMinute=Minute
85setup=SetSystemTime(SystemTime)
86
87EndFunction
88
将其编译为systimeset.dll的文件。
关于DLL的注册,一般VB在本机上编译后,会主动将DLL注册;但假如你要放到IIS上,请利用以下办法:
1、将systimeset.dll拷贝到c:WINDOWSsystem32下;
2、在入手下手菜单的运转内里输出:regsvr32systimeset.dll(敲回车啊)
3、由于修正的工夫,INTERNET宾客帐户不具有该权限,设立权限请翻开把持面版中的“办理工具”,然后翻开“当地平安战略”--“用户权利指派”,双击“变动体系工夫”,在弹出的对话框中点“增加用户或组”,将INETNET宾客帐户到场出去。
4、统统终了后,将IIS服务从头启动一次。
在下面的设置终了后,利用systimeset.dll组件的ASP代码页面以下:
<p>
1<%@language="vbscript"%>
2<%
3functionSetTime(strYear,strMonth,strDay)
4response.Expires=0
5setobj=server.createobject("systimeset.timeset")
6obj.Year=strYear
7obj.Month=strMonth
8obj.Day=strDay
9ifHour(now())-8>0then
10obj.Hour=Hour(now())-8
11else
12obj.Hour=8
13endif
14obj.Minute=Minute(now())
15obj.Second=Second(now())
16obj.setup
17
18setobj=Nothing
19endfunction
20
21ifrequest("act")="modi"then
22callSetTime(request.Form("strYear"),request.Form("strMonth"),request.Form
23
24("strDay"))
25endif
26%>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|