查看完整版本: ASP中使用ServerVariables集合详解

hahj 2008-1-3 15:34

ASP中使用ServerVariables集合详解

当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。   “自引用”页面
  在ServerVariables集合中返回的值包含Web服务器的详细信息和当前页面的路径信息。在任何地方创建一个页面都可使用这些信息。例如创建一个“自引用”页面,此页面能够再次调用自身完成另一项任务,我们可以用以下代码:
<FORM ACTION=”<% = Request.ServerVariables(“PATH_INFO”) %>” METHOD=”POST”>
  同样的效果可以用HTTP的“SCRIPT_NAME”值获得:
<FORM ACTION=”<% = Request.ServerVariables(“SCRIPT_NAME”) %>” METHOD=”POST”>
  使用<A>元素打开一个不同页,可以使用:
...
<%
strFullPath = Request.ServerVariables(“PATH_INFO”)
‘Strip off the file name
strPathOnly = Left(strFullPath, InStrRev(strFullPath, “/”))
strNextPage = strPathOnly & “pages/next_page.asp”
%>
...
<A HREF=”<% = strNextPage %>”>Next Page</A>
...
  即使原始页面的名称或位置发生变化,这些实例都能正常工作,因为使用了当前页面的路径信息(当然,第二个例子在分离的目标页的名称发生变化时运行会失败)。
  换句话说,如果为搜索引擎的子会话自动建立URL,可以收集ServerVariable的一些值:
strFullURL = http:// & Request.ServerVariables(“LOCAL_ADDR”) _
& “:” & Request.ServerVariables(“SERVER_PORT”) _
& Request.ServerVariables(“PATH_INFO”)
  这将创建一个完整的URL包括端口号(这种情况下,不是标准值80)。例如,结果可能是:
http://194.74.60.254:1768/thispath/thispage.asp
  检测浏览器的版本
  ServerVariables集合中,另外一个有用的值是用户浏览器的用户代理字符串。在“Detecting the Browser Type”页面(browsertype.asp),使用ServerVariables集合中的“HTTP_USER_AGENT”值来获得用户代理字符串,一些脚本用来解析该信息并寻找生产厂家名称和浏览器版本。
<%
strUA = Request.ServerVariables(“HTTP_USER_AGENT”)
Response.Write “The User Agent string is <B>” & strUA & “</B>

If InStr(strUA, “MSIE”) Then
Response.Write “To upgrade your browser go to “_
& “<A HREF=” & Chr(34) & [url]http://www.microsoft.com/ie/[/url]”_
& Chr(34) & “>[url]http://www.microsoft.com/ie/[/url]<A>

intVersion = Cint(Mid(strUA, InStr(strUA, “MSIE”) + 5, 1))
If intVersion >=4 Then
Response.Write “You can use Microsoft Dynamic HTML”
End If
Else
If InStr(strUA, “Mozilla”) Then
If InStr(strUA, “compatible;”) = 0 Then
Response.Write “Your browser is probably Navigator. You can “_
& “download the latest version of Navigator from “_
& “<A HREF=” & Chr(34) & [url]http://home.netscape.com/[/url]”_
& “download/”& Chr(34) & “>[url]http://home.netscape.com[/url]”_
& “/download/</A>

intVersion = Cint(Mid(strUA, InStr(strUA, “/”) +1, 1))
If intVersion >= 4 Then
Response.Write “You can probably use Netscape Dynamic HTML”
End If
Else
strVersion = Mid(strUA, InStr(strUA, “compatible;”) + 12)
strProduct = Left(strVersion, InStr(strVersion, “ “))
Response.Write “Your browser is Navigator-compatible. You can”_
& “search for the manufacturer using a search engine, such as”_
& “<A HREF=” & Chr(34) _
& “[url]http://www.altavista.digital.com/cgi-bin/query?q=[/url]”_
& strProduct _
& Chr(34) & “>[url]http://www.altavista.com/[/url]</A>

End If
End If
End If
%>
  对IE 5.0和Navigator 4.61的搜索结果分别不同,对于其他厂家的浏览器,可以得到一个链接在Alta Vista Web站点自动开始搜索厂家的名称。
  注意,Netscape在用户代理字符串中不提供厂家的名称,因而无法绝对保证一个浏览器一定是Navigator。
  检测浏览器的语言
  ServerVariables集合中另外一个有用的值是“HTTP_ACCEPT_LANGUAGE”,它包含了一个当浏览器安装时指定的,或硬编码进用户的地区版本的语言代码。语言代码的例子有en-us(英国、美国)、de-at(德国、澳大利亚)和es-pe(西班牙、秘鲁)。
  语言代码可以是一般的且省略方言标识:例如,在我们的站点Wrox者,大批浏览者都是将en(英语)作为语言代码。
  因此,可以检测语言代码并自动装载一个合适的特定地区或指定语言版本的页面。
StrLocale = Lcase(Left(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”),2))
Select Case strLocale
 Case “en”: Response.Redirect “[url]http://uk_site.co.uk/[/url]”
 Case “de”: Response.Redirect “[url]http://de_site.co.de/[/url]”
 Case “fr”: Response.Redirect “[url]http://fr_site.co.fr/[/url]”
 ‘... etc
 Case Else: Response.Redirect “[url]http://us_sitel.com/[/url]”
End Select
  或者根据特定的方言,重定向页面:
strLocale = Lcase(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”))
Select Case strLocale
 Case “en-gb”: Response.Redirect “[url]http://uk_site.co.uk/[/url]”
 Case “en-us”: Response.Redirect “[url]http://us_site.com/[/url]”
 Case “es-pe”: Response.Redirect “[url]http://es_site2.co.pe/[/url]”
 ‘...
 Case Else: Response.Redirect “[url]http://us_site1.com/[/url]”
End Select
  其他有用的ServerVariables集合的值
  可以访问和使用ServerVariables集合中的任何一成员,控制ASP页面响应一个请求的方式。可以检查一个浏览者访问站点时使用的是否是缺省端口80或还是另一个。在这个例子里,寻找通过端口443的访问——这个端口提供的是安全套接字层(Secure Socket Layer,SSI)访问(和其他的协议),且将它们重定向到一个相应的页面。
If Request.ServerVariables(“SERVER_PORT”) = “443”) Then
Response.Redirect “/securesite/default.asp” ‘Secure user
Else
Response.Redirect “/normalsite/default.asp” ‘Non-secure user
End If  
  假如要求浏览者注册且由服务器验证(而不是允许他们在Web服务器的IUSER帐号下匿名访问,这个问题将在后面章节中详细讨论),可以查询用户名称,来判定正在与我们打交道的用户是谁,是否装载页面给该用户。例如,下面的这个代码将只向名为Administrator的用户显示管理链接。
...
<A HREF=”dispcnfg.asp”>Change Display Configuration</A>
<A HREF=”dispcolr.asp”>Change Display Colors</A>
<A HREF=”keyboard.asp”>Change Keyboard Configuration</A>
<%
If Request.ServerVariables(“AUTH_USER”) _
= Ucase(Request.ServerVariables(“SERVER_NAME”)) & “\Administrator” Then
%>
<A HREF=”allusers.asp”>Administer All Users</A>
<A HREF=”usrlogon.asp”>Administer Logon Information</A>
<%
End If
%>
...
  注意ASP不填写ServerVariables集合直到你访问其中的一个成员。首次访问该集合的一个成员将使IIS得到它的全部,应只在需要时才使用ServerVariables集合。
  其他Request和Response技巧
  现在,来看一下几个使用Request和Response对象的有用技巧,包括:
  · 连接、缓冲和页面重定向的管理。
  · HTTP报头、缓存与“到期”页面的操作。
  · 利用客户证书。
  · 创建定制的日志文件消息。
  1. 连接、缓冲和页面重定向的管理
  ASP的一个很有用的特点就是使用户能够从一个ASP网页转向到另一个网页(ASP或HTML),或另一个源文件(例如一个ZIP文件或文本文件)。这对用户来说是透明的,实际上是浏览器做这个工作。当使用Response.Redirect方法来载入一个新的网页时,实际上是发送回一个特殊的HTTP报头到客户。此报头为:
  HTTP/1.1 302 Object Moved
  Location /newpath/newpage.asp
  浏览器读到此报头信息,并按Location值的指示载入页面。这在功能上与在Web页中使用客户端HTML<META>标记相同,例如:
<META HTTP-EQUIV=”REFRESH” CONTENT=”0;URL=/newpath/newpage.asp”>
  这带来的一个问题是,服务器与用户之间的代理服务器可能会提供它自己的包含与新页面的链接的消息,而不是直接载入新页面。而且浏览器根据厂商和版本可能做同样的工作。这就去除了假定的透明,而且对用户来说一直收到的是错误信息,则对你的站点的访问变得比较麻烦。
  在发送诸如文本或HTML等任何页面内容后,我们就不能再使用Redirect方法。然而,一个看起来能够限制“代理服务器影响”的方法是,先确定没有输出(包括HTTP报头)被发送到客户。在ASP 2.0中,必须打开缓冲,然后使用Clear方法来清空缓冲区:
Response.Buffer = True
‘Some condition to select the appropriate page:
If Request.ServerVariables(“SERVER_PORT”) = 1856 Then
 StrNewPage = “/newpath/this_page.asp”
Else
 StrNewPage = “/newpath/the_other_page.asp”
End If
Response.Clear
Response.Redirect strNewPage
  在ASP 3.0中,缓冲缺省为打开,所以第一行可被忽略,但它是无害的,而且能确保我们的网页即使在ASP 2.0环境中也仍然能工作。
与其使用这种类型的HTTP报头重定向,不如使用ASP 3.0的一个新特性,它允许我们通过Server对象的Transfer方法转换为执行另一个网页,我们将在以后进一步研究这个问题。
  1) ASP页面缓冲区
  正如已看到过的,IIS 5.0中ASP 3.0页面缓冲是缺省打开的,在早期的版本中是缺省关闭的。微软告诉我们缓冲在IIS 5.0中提供了更有效的网页传送,这就是缓冲缺省状态被改变的原因。在大部分情况下,这对我们没有影响。但是,假如有一个非常大的网页,或一个用ASP或别的服务器端代码和组件花费一定时间创建的网页,当其各部分完成时,我们能够分批刷新它们到客户:
...
... Code to create first part of the page
...
Response.Flush
...
... Code to create next part of page
...
Response.Flush
...
  有时可能希望在页面结束之前的某些点上停止代码的执行,可以通过调用End方法去刷新所有的当前内容到客户并中止任何进一步的处理过程。
...
... Code to create first part of the page
If strUserName = “” Then Response.Clear
...
... Code to create a new version of this part of the page
...
  这里有两上演示缓冲和重定向的实例网页,可以从“Response Object”主页面(sow_response.asp)下载它们。第一个Response.Redirect例子网页命名为redirect.asp,它在缓冲的页面中定入一些内容,清除缓冲区,并重定向到另一个网页:
For intLoop = 1 To 1000000
 Response.Write “.”
Next
Response.Clear
Response.Redirect “show_redirect.asp”
Response.End
  目标页show_response.asp,做同样的工作,但重定向则是回到“Response Object”主页。因为这些网页都在缓冲区内,而且所有的输出在重定向之前必须清除,故在浏览器中没有可见的输出。然而,可以通过观察浏览器的状态看到发生的每一次重定向。如下图所示:
<img src=http://go2.163.com/~davelu/asp14.jpg>
  在“Response Object”主页中,点击“Response.Flush”链接将打开第二个示例网页usebuffer.asp,它简单地遍历一个字符串的每一个字符,以一定的延迟将它们刷新到客户,这虽是Web服务器和ASP极低效率的使用方式,但它演示了缓冲的工作方式。
<img src=http://go2.163.com/~davelu/asp15.jpg>
  下面是所要求的最小化的ASP代码,注意我们分别把每个字符刷新到浏览器,因为不这样的话它将被存放在缓冲区中,直至网页完成:
strText = “This text has been flushed to the browser using “ & _
“<B>Response.Flush</B>

For intChar =1 To Len(strText)
 For intWrite = 1 To 100000
 Next
 Response.Write Mid(strText,intChar,1)
 Response.Flush
Next
  2) Response.IsClientConnected属性
  IsClientConnected属性在ASP 2.0中已经存在了,但却有些不可靠。在其返回一个准确的结果之前必须发送一些输出到客户。这一问题在ASP 3.0中已被解决。现在这一属性可被自由使用。
  IsClientConnected是观察用户是否仍连到服务器和正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查浏览器是否已离线:
...
... Code to create first part of the page
...
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If

颉萍生 2008-10-17 04:46

代办出口核销单代办出口收汇核销单13313197276

*** 作者被禁止或删除 内容自动屏蔽 ***

go4flash1 2008-11-6 21:47

有路过,没错过

有路过,没错过,顶!




















[url=http://www.vcsale.com/cheap.2Moons.12.aspx]2moons dil[/url] [url=http://www.vcsale.com/cheap.2Moons.12.aspx]cheap 2moons dil[/url] [url=http://www.vcsale.com/cheap.2Moons.12.aspx]buy 2moons dil[/url] [url=http://www.vcsale.com/cheap.2Moons.12.aspx]2 moons dil[/url] [url=http://www.vcsale.com/service.Cabal_Online.13.aspx]cabal alz[/url] [url=http://www.vcsale.com/service.Cabal_Online.13.aspx]cabal online alz[/url] [url=http://www.vcsale.com/service.Cabal_Online.13.aspx]buy cabal online alz[/url] [url=http://www.vcsale.com/service.Cabal_Online.13.aspx]buy cabal alz[/url]

芬守广 2008-12-9 02:47

数码相机维修常见故障

数码相机常见故障[table][tr][td][font=宋体]一、闪光灯不发光[/font]
[font=宋体]    1.未设定闪光灯。按闪光灯弹起杆,设定闪光灯。[/font]
[font=宋体]2.闪光灯正在充电。等到橙色指示灯停止闪烁    [/font]
[font=宋体]3.拍照物明亮。使用辅助闪光模式。[/font]
[font=宋体]    4.在已设定闪光灯的情况下,指示灯在控制面板上点亮时,闪光灯工作异常。请予以修理。[/font]
[size=2][color=#c60a00]上海数码相机维修021)61024-803/804/903 4008 821 021[/color][/size][font=宋体][/font]
[font=宋体][/font]
[font=宋体]二、相机不动作[/font]
[font=宋体]    1.电源未打开,按电源键接通电源。[/font]
[font=宋体]    2.电池极性装错。重新正确安装电池。[/font]
[font=宋体]    3.电池耗尽。更新电池。[/font]
[font=宋体]    4.电池暂时失效。使用时,请保暖电池;在拍照间隙,暂时不使用电池。[/font]
[font=宋体]5.卡盖被打开。关闭卡盖。[/font]
[font=宋体][/font]
[font=宋体]三、相机自动关闭[/font]
[font=宋体]1. 如果数码相机突然自动关闭,你首先应该想到的是电池电力不足了————数码相机是个耗电大户,它因为电池电力不足而关闭的现象经常出现。更换电池。[/font]
[font=宋体]2. 如果更换了电池以后,数码相机还是无法开启,而你发现相机比较热时,那就是因为你连续使用相机时间过长,造成相机过热而自动关闭了。停止使用,等它冷却后再使用。[/font]
[font=宋体][/font]
[font=宋体]四、按快门释放键时不能拍照[/font]
[font=宋体]    1. 刚拍照的照片正在被写入SmartMedia卡,此时放开快门释放键,等到绿色指示灯停止闪烁,并且液晶显示屏显示消失。    [/font]
[font=宋体]    2.SmartMedia卡已满。更换SmartMedia卡,抹消不要的照片或将全部相片资料传送至个人电脑后抹掉。[/font]
[font=宋体]    3.正在拍照时或正在写入SmartMedia卡时电池耗尽。更新电池并重新拍照。[/font]
[font=宋体]4.拍照物不处于照相机的有效工作范围或者自动聚集难以锁定。参照标准模式和近拍模式的有效工作范围或者参照自动聚焦部分。[/font]
[font=宋体][/font]
[font=宋体]五、相机无法识别存储卡[/font]
[font=宋体]1.使用了跟数码相机不相容的存储卡,不同的数码相机使用的存储卡是不尽相同的,在大多数码相机不能使用一种以上的存储卡。解决方法是换上你的数码相机能使有的存储卡。[/font]
[font=宋体]2.存储卡芯片损坏,,找厂商更换存储卡。[/font]
[font=宋体]3.存储卡内的影像文件被破坏了。造成这种现象的原因是,在拍摄过程中存储卡被取出,或者由于电力严重不足而造成数码相机突然关闭。如果重新插入存储卡或者重新接上电力,问题还是存在的话,格式化你的存储卡。[/font]
[font=宋体][/font]
[font=宋体]六、刚拍摄的相片不能在液晶显示屏上呈现   [/font]
[font=宋体]    1.电源关闭着或记录模式开启着。将记录/播放开关设定于播放位置,并接通电源。[/font]
[font=宋体]    2.SmartMedia卡无相片。查看控制面板。[/font]
[font=宋体][/font]
[font=宋体]七、液晶显示屏模糊不清[/font]
[font=宋体]    1.亮度设定不对。在播放模式下,从菜单选择ERIGHTNESS并进行调节。[/font]
[font=宋体]    2.阳光照射在显示屏上。用手等遮住阳光。[/font]
[font=宋体][font=宋体]八、相机连接电脑传送资料至电脑时出现出错信息[/font]
[font=宋体]    1.电脑未插接好,正确插接电缆。[/font]
[font=宋体]    2.电源末打开。按电源键接通电源。[/font]
[font=宋体]    3.电池耗尽。更新电池或使用交流电源转接接器。[/font]
[font=宋体]    4.串行口选择不当。用操作系统软件确认串行口是否选择得当。[/font]
[font=宋体]    5.无串行口可供使用。按个人电脑的使用说明空出一个串行口(仅限于Macintosh开关AppleTalk/LocalTalk机能)。[/font]
[font=宋体]    6.图像传送速度先择不当。在电脑上选择正确的传送速度。[/font]
[font=宋体]    7.未安装TWAIN/Plug-In。将TWAIN/Plug-In安装在电脑上。[/font]
[font=宋体]    当按任何键均不能进行任何操作时,请按卡盖上的重设键,然后再按电源键。十四、加电后液晶显示不能正常显示当前状态    [/font]
[font=宋体]    正常情况下,加电后液晶显示器应能正常显示当前状态,并且随着功能设定的改变和拍摄的进行,显示器能作出相应的反应。如加电后液晶显示器不能正常显示当前状态,多数情况是电池接触不良或电量不足所致。可以重新装好电池或更换新电池。更换新电池时,注意必须全部更换,不能新旧电池混用。[/font]
[font=宋体][/font]
[font=宋体]九、液晶显示器显示图像时有明显瑕疵或出现黑屏[/font]
[font=宋体]    加电后液晶显示器能正常显示当前状态和功能设定,但不能正常显示图像,画面有明显瑕疵或出现黑屏。出现这种情况,多数是CCD图像传感器存在缺陷或损坏所致。此时应更换CCD图像传感器。这种情况多发生在二手数码相机,选购二手数码相机时,一定要仔细鉴别CCD图像传感器。如果相机没有LCD显示屏,CCD成像器件的好坏一般无法直接判断,有时由于CCD损坏但在拍摄时一切正常,直到电脑下载照片时才发现照片一片漆黑,所以,只能通过实拍查看输出照片的质量。[/font]
[font=宋体][/font]
[font=宋体]十、电脑不能正常下载照片[/font]
[font=宋体]这种情况大多数是电脑连接线有问题。依照相机接口不同,电脑连线方式很多,常用的标准串口连线就有三种,此外还有USB等其它连线。进行连线操作时务必到位、不松动,如图7-6所示。有条件的话,最好有备用连线,这样连线出现问题可以及时更换。[/font]
[font=宋体][/font]
[font=宋体]十一、用专用照相纸打印出来的照片不清楚[/font]
[font=宋体]    数码照片的图像质量直接与每英寸像素数目(dpi),即图像分辨率有关。像素越多,分辨率越高,图像质量越好。为了得到好的打印质量,所需的图像分辨率大约是300ppi。使用数码相机拍照时,如果准备将照片打印出来,一定要使用相机所允许的最大像素数。当然,像素越多也就意味着文件越大,在相机内存中放的照片的数量就会减少。[/font]
[font=宋体][/font]
[font=宋体]十二、打印出来的图像模糊不清、灰暗和过度饱和[/font]
[font=宋体]    照片拍摄正常,但打印出来的图像模糊不清、灰暗和过度饱和。这种情况多数是因为所用的纸张不符合要求。打印图像时所用的纸张类型对图片的质量有重大影响。同一幅图像打印在专用照机纸上显得亮丽动人;打印在复印纸上则清晰、光亮;而打印在便宜的多用途纸上时,则会显得模糊不清、灰暗和过度饱和。[/font]
[/font]
以上信息由[size=2][color=#c60a00]上海数码相机维修021)61024-803/804/903 4008 821 021[/color]透明式的维修环境,多家官方指定特约维修服务机构,专业的维修技术支持,当场报价.提供2小时快修服务,快修镜头歪斜,对焦错误,成像条纹,免费客户热线进行全面的产品及服务咨询[/size][url=http://www.shdcfix.com.cn/][size=2]http://www.shdcfix.com.cn[/size][/url][/td][/tr][/table]

vwxy724 2008-12-15 00:35

对毯子的From围嘴- GENCO市场是您的所有新出

Wholesale从GENCO的婴孩产品…对毯子的From围嘴- GENCO市场是您的所有新出生的网上来源…

Gain可见性在买家和卖主市场上通过轻拍搜索引擎的力量优选了([url=http://www.seokey.com.cn]seo[/url])网页。 这三个[url=http://www.seokey.com.cn]北京seo[/url]营销技巧: 使用站点查寻作为顾客服务工具; 使用从网日志和analytics的买家或卖主关键词; 并且轻拍长尾巴的赢利力量。

1. 使用站点查寻作为服务

A站点查寻箱子是您的公司网站的一必须有。 很难说潜在的顾客怎么在您的站点登陆: 一些点击深深入从一个目录的一个seller’s站点在[url=http://www.seokey.com.cn]深圳seo[/url](搜索引擎发生页); 主页的一些土地在键入您的网地址以后到浏览器里; 其他得奖的访客跳进在您的站点的所有页从从一个被信任的用户站点的链接在
[url=http://www.seokey.com.cn]广州seo[/url]他们喜爱的博客或推荐。


您的网站Every页在同一个位置需要查寻箱子。 然后,不管在远景或者链接带来的产品、查寻,访客可能驾驶到正确地什么they’re寻找。 没有去的后面通过您的产品目录。 没有苦苦思索您的网设计师怎么决定标记特别产品子范畴。





Let’s说,例如,您的在次级页在主要类别之下, Women’s鞋类的公司逻辑上被安置的特别宽度鞋子和脚跟样式。 如果买
[url=http://www.seokey.com.cn]天津seo[/url]家来搜寻“narrow妇女穿上鞋子低堆脚跟, ”什么是机会他们有那个项目的确切的着陆页在第一点击? 并且,必须买家多么努力工作有正确的页?

忠i绫 2009-1-6 10:46

因为一个软件,我们分手了

跟我一起相处五年的男友就因为一个软件,和我分手了。我从来没想过我们之间的结局会因为一个软件而终结,但事情就是这样真真实实的发生了。

我跟男友认识五年了,他长相很一般,家里也没什么钱。大学我们就认识了,还相处过一年的时间,我的第一次也献给了他,当时还天真的要和他结婚过一辈子。

后来他退学,离开了校园,说是因为家里的原因不得不退学去外面找份工作供弟弟上学,女人最容易被感情冲昏头脑,我曾经一度要闹着退学跟他一起,一起工作。家里死活都是不同意,妈妈还放出话要和他小子在一起就等她死,同学也劝我仔细想想,是啊我的自身条件也不差父母都在国企有稳定工作,我168,长相也还算对得起观众,找什么男人不好,非要找一个缀学的穷光蛋。

我又在学校待了1年,我们分开后他没有给我打过一次电话,我忍不住拨通了他的号码,那熟悉的一串数字却传来了对方已停机的叫声,好长一段时间我情绪很是失落,他怎么这么没有良心,后来我交了好几个男朋友,想要自己忘记,多到自己都数不过来了。当然还有一些Z爱的事情,也只有那个时候心情才会完全放松。大学就这样堕落的结束了。

毕业后他给我打电话说,他和几个朋友对钱在A城刚了一个小贸易公司,我是学网络营销的,想让我去帮帮忙。我一口就答应了,毕竟我还是最放不下他的。

见面那天他说现在资金紧缺就不请我在外面吃饭了,他在家做给我吃,顺便介绍一下公司的情况。我到了他家,他一把抱住我说他还是爱我的,这一年他每天都在想我,却不敢给我打电话,觉得自己配不上我。他一直在算着我毕业的时间,毕业尝试着拨通我的号码,没想到竟然接通了。我一下子就哭了,这些年我的号码一直舍不得换,也不很少关机,就算没钱也要借钱把电话欠费交了。我们那天聊得很少,大部分时间都是看着对方什么也没有说。然后我们脱掉对方的衣服,做了那个事情,我很顺从,感觉这好像是理所应当的一样。但这次他那家伙变得更长、更粗、更有力量了。

第二天我去他公司看了看,真的很小的一个公司,整个公司只有三张桌子几个电话,其他什么都没有。我了解到他公司的困境后,虽然我也只是刚毕业没有工作经验,但还是坚信我一定能帮到他的。我利用学校里学的,竭尽所能的工作着,公司网络营销的全部都是我来做的。我为他公司制作了网站,在论坛发帖子、把供应信息发送到供求等网站。没想到的是网络竟让成了他公司客户的主要来源。

一年后,他的业务慢慢好了起来,但还不至于说赚到大钱,而我每天的工作依然是发发帖子、发布一些信息、在维护维护公司的网站。他曾经开玩笑的跟我说:原来营销这么简单啊,每天上网发发信息就可以了,人人都会。

后来公司有招聘了两个员工,和我的工作一样,就是在网上发布信息。他整天忙着在外面拜访客户、请客户吃饭,我整天呆在公司。一天也只有早上半个小时也晚上能够在一起,他晚上回家很晚经常在十点以后,回家后倒床就睡,有时候甚至整夜都不回家,问他在干什么,他就说陪客户玩了一晚上。我问他有没有跟客户去找小姐,他说工作需要有时候为了做成生意要请客户去那地方消费,但自己绝对不碰小姐的。

虽然我相信他,但是事实就是这样,我们之间的距离越来越远,我有时候晚上想他了给他打电话,他总是匆忙说两句就挂电话,说是正在和客户谈生意不方便。

生意越做越大,员工也越来越多,公司也搬迁换更大的地方了。我每天的工作还是发帖、发信息,重复、乏味,让人心烦。

后来我无意中发现一个叫“推广小助手”的[url=http://www.tgxzs.com/]群发软件[/url]可以自动在网上发帖、发布供应信息,心想这下好了,有了这个[url=http://www.tgxzs.com/]论坛群发[/url]软件,再也不用做哪些让人头疼的发帖工作了。我把软件拿给他看,他很快就决定购买一套,说是送给我的礼物。

谁知道这就是我们分手的导火索,我越来越清闲,每天打开那个软件就什么也不用管了,而且发送的数量远远比之前手工发送的多太多了。没天能发送几万个帖子。那段时间他生意好的不得了。我整天上班还可以看看新闻、看看电影什么的。

几个月后,公司再次搬迁,搬到了一个非常豪华的办公楼,面积也很大,他终于有了自己的办公室,而我则和其他员工一样坐在大厅里,我和他之间的共同语言越来越少。

和他在一起这么久了,我也到了结婚的年龄,但他重来不跟我谈结婚的事情,我又一次小心翼翼的问他说我们结婚吧,他却笑道,这么早啊,他还小,还要闯事业,他的意思是30岁以后再结婚。但我等不了了,等他30岁我不就高龄产妇了,他根本就不考虑我的感受。

都说男人一有钱了就会学坏,他还是那样天天回家很晚,甚至连续几天不回家。我一个人在家,忍不住去想他是不是在外面有人了,为什么不考虑一下我的感受。

我偷偷拿到他的手机,发现里面和一个叫青青的女孩的短信都很恶心,短信里还说他现在女朋友(也就是说我)整天闲着没事,吃白饭,老是缠着他,很烦,那女孩叫他老公别烦我和你在一起很开心。我一下子就傻了,头都大了,怎么也不相信自己的眼睛。

整整一个星期我心痛如刀割一样,脑子里不断回响着“整天闲着没事,吃白饭,老是缠着他”这句话。有时候躲在公司的卫生间里偷偷的哭。晚上睡不好觉。

他冷冷的问我怎么了,这几天脸色这么难看,我也只好说昨天失眠没睡好。他要离开我了怎么办,难道就是因为那个推广小助手的破软件,让他觉得我已经不重要了吗?

我决心一定要向他问明白,我问他手机里的短信到底是怎么回事,他却火了,说我没事儿翻他手机干什么。知道什么叫隐私吗。我又问他那个叫青青的女孩是谁,他一巴掌打在我脸上,后面的事情我真的写不下去了,我的心在滴血,他把我赶出家门…………

最终我们还是分手了,虽然我极力想要去挽留,我们之间的关系就像是一缕青烟,当你本能的伸手想要去抓住,挥动手臂带来的气流却把这缕纤细的烟雾完全冲散。

我什么都没做错,为什么会这样,他永远都不知道我在他手机上看到了什么内容,而那些内容又多么伤人。就是那个推广小助手软件惹的祸,要不他也不会说我整天闲着没事儿,吃白饭,那个软件的网址[url=http://www.tgxzs.com/]http://www.tgxzs.com[/url] 有没有黑客能把它给黑掉,不要让他再害人了。
页: [1]
查看完整版本: ASP中使用ServerVariables集合详解