YOYO的最新BLOG文章

Feb
24

这段时间经常遇到asp.net 2.0的Server Application Unavailable错误提示,经过查询得知是权限设置的问题,下面这篇文章集合了这个错误的大部分情况,文章来源http://blog.bluephp.com/read.php/256.htm,收藏一下。

The web application you are attempting to access on this web server is currently unavailable.  Please hit the “Refresh” button in your web browser to retry your request.

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.

查看Event Viewer,看到的错误为:

Error:Failed to execute request because the App-Domain could not be created. Error: 0×80070005 Access is denied.

解决办法:在该web sites的virtual directory下,将Permissions设置一下,里面应包含:
ASP.NET
IWAM_MachineName
Local_Service
Network_Service
System
而且权限要设置为write & read.

设置后,一切运行正常.

另外还有一种可能:

放到打算购买的虚拟主机上(试用期内,我让他安装了.net 2.0)还是不行,他们应该是高手了,一直以为是自己发布的方式有问题,广求人,狂看帖,最终知道了是我安装了。net framework 1.1 和 2.0后,iis的应用程序池的配置有误,网上看到的解决办法如下:

你的.net 2.0 真的能与1.1 安全正确地运行在同一台电脑上吗? 小心Server Application Unavailable 错误
答案当然是肯定的。但不作任何处理的默认情况下,会出问题!

各位在同一电脑上同时安装并运行.net 1.1 和 .net 2.0 两个版本的朋友要小心啊!

您的项目是不是时不时会出现 Server Application Unavailable 错误呢?或者一直连续都出这个错误!

今天我朋友将其从1.1升级至2.0的项目发布至公司安装有windows 2003的服务器上,结果2.0的项目始终无法成功运行。甚至还造成服务器上正在为全公司服务的基于.net Framework 1.1的web程序出错。他感觉很奇怪,在自己电脑上明明运行的很好啊,怎么一到服务器上就不行了?
他发布2.0 web程序的过程如下:

1、在服务器上创建一个目录,然后将发布后的所有Web程序的文件复制到这个新建的目录。
2、在服务器的IIS上新建一个虚拟目录,然后将其配置成可以执行脚本的应用程序,(过程与创建.net Framework 1.1版本的程序相同。) 然后,将此虚拟目录的.net Framework 配置成2.0。
大功告成后,开始访问刚配置的程序,却得到如下错误:

Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable. Please hit the “Refresh” button in your web browser to retry your request.

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.

之后向我求助,经过仔细阅读了IIS帮助文档,才发现,原来这个错误是由 IIS6 应用程序隔离机制造成的。IIS默认的应用程序隔离机制被称为:“工作进程隔离模式”,在此模式中,应用程序被分为多个组,每个组就是一个“应用程序池” ,每个应用程序池之间是相互隔离的。隔离的好处当然就是安全啦,稳定啦,等等。IIS中的每个应用程序池由一个“工作进程”分别进行管理,也就是”W3wp.exe” 。如果有多个应用程序池中的程序运行,我们就能看到多个w3wp.exe。我们平时新建的虚拟目录都默认被指向IIS6的“DefaultAppPool” 中,所以在默认情况下,不管你有多少个asp.net程序在运行,在“Windows任务管理器”中你只能看到一个w3wp.exe进程。

出现上述错误的原因是: .net Framework 2.0的程序与.net Framework1.1(或1.0)的程序被放入同一个应用程序池(默认情况下放入DefaultAppPool池),也就是由同一个工作进程: w3wp.exe 进行管理,而单个工作进程是无法同时管理不同的程序(或者不同版本的程序)的。如果先访问.net framework 1.1的页面,则工作进程先加载并管理了 1.1版本的程序集,此时访问.net framework 2.0的web程序页面,Server Application Unavailable 错误就出来了。 反之,如果在默认应用程序池的w3wp.exe尚未启动前先访问了 2.0的web程序(此时应用程序集已经加载了.net framework2.0的Web程序集),再访问1.1或1.0的Web程序页面时,同样会出现“服务器应用程序不可用” 这样的中文提示。(您可以结束掉以前的w3wp.exe进行测试。)

我朋友之所以在自己的开发机器上没出现此错误是因为他在开发基于.net framework 2.0的项目时,一直都只访问这个2.0的web程序,跟本未曾访问过其他web程序。而朋友的服务器上已经存在1.0 的项目,并且一直有人使用。这个错误在今天之前从未碰到过,其实大部分人在开发一个项目时,都只访问正在开发的项目。很有可能就忽略了这个问题,而到了发布的时候却出现错误,搞得手忙脚乱。

解决办法:在IIS中新建一个应用程序池,然后选中你的 基于.net framework2.0的虚拟目录,点“属性”-》在“应用程序池” 中选择刚才新建的的应用程序池,点击“确定”。

如果你的电脑主要是为了学习,开发,测试web程序,完全可以建一个类似于名为”dotnet2.0″的应用程序池,以后所有新建的2.0的虚拟目录都指向此应用程序池。

—————————————————————————————————————————

这个在微软官方的解析为:

原因
< SCRIPT type=text/javascript>loadTOCNode(1, ’cause’);< /SCRIPT>

出现此问题的原因是进程模型用户帐户(默认情况下为 ASPNET)没有所需系统文件和文件夹的正确用户权限,以便运行 ASP.NET 工作进程。
替代方法
< SCRIPT type=text/javascript>loadTOCNode(1, ‘workaround’);< /SCRIPT>

要解决此问题,请验证该 ASPNET 帐户拥有如下所示的正确用户权限: • %windir%\Microsoft.NET\Framework\Version\Temporary ASP.NET 文件:完全控制
• %windir%\Temp:完全控制
• 应用程序文件夹:读取
• %installroot% 层次结构(例如,%windir%\Microsoft.Net\Framework\Version):读取
• %windir%\Assembly:读取

注意:这是全局程序集缓存。不能直接使用 Windows 资源管理器编辑此文件夹的 ACL。正确做法是,打开命令窗口,然后运行以下命令:
cacls %windir%\assembly /e /t /p domain\useraccount:R
另外,在使用 Windows 资源管理器之前,请先运行以下命令以取消对 Shfusion.dll 的注册:
regsvr32–u shfusion.dll
在 Windows 资源管理器中设置了用户权限后,请运行以下命令重新注册 Shfusion.dll:
regsvr32 shfusion.dll
• 网站根目录(例如,%root%\Inetpub\Wwwroot)或默认网站指向的路径:读取
• %windir%\System32:读取
(通常情况下,ASPNET 帐户已被授予了用户组成员的用户权限。)

错误2
基本上,這個情況最可能發生在第一次執行 .Net framework 2.0 ,原因不明,但底下的做法大致可以解決此問題:

1.首先開啟「命令窗口」,並切換目錄到 %SystemRoot%\Microsoft.Net\Framework\ (%SystemRoot% 視你 Windows 安裝目錄而定,一般是在 C:\Windows)
2.在命令行執行 “net stop w3svc” 終止 w3svc 服務
3.切換到下层目錄 v2.0.5.xxx
4.執行 “aspnet_regiis.exe -ua” 卸载 .Net
5.重新安裝 .Net 到 IIS 中  执行 “aspnet_regiis.exe -i”
6.重新启動 w3svc   执行 “net start w3svc”.

Feb
20

说到虚拟主机,不是IT圈里面的人可能很少知道,而说到网站空间、ASP空间或PHP空间什么的很多人就知道了,虚拟主机就是这些空间的一个统称。下面我就来说一下怎么在Apache下面来配置php的虚拟主机站点。

首先打开apache的配置文件httpd.conf,然后找到Virtual hosts这个地方,然后把此行下面的语句的注释去掉,如下:

Include conf/extra/httpd-vhosts.conf

保存,关闭httpd.conf

然后打开extra目录下面的httpd-vhosts.conf文件,在最下面的空白处添加

<VirtualHost *:80>
ServerName localhost
</VirtualHost>

这句是为了保留默认的localhost站点,然后在下面继续添加

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.php.com
DocumentRoot “/www/docs/dummy-host.php.com”
ServerName dummy-host.php.com
ServerAlias www.dummy-host.php.com
ErrorLog “logs/dummy-host.php.com-error_log”
CustomLog “logs/dummy-host.php.com-access_log common”
</VirtualHost>

上面的DocumentRoot和ServerName是必填项目,分别写上你的站点目录和你的域名,其他的可以选填,对于服务器上的站点的话,建议都填写完整。我在我本地机器的配置如下:

<VirtualHost *:80>
ServerAdmin yoyo@fesite.com

DocumentRoot “E:/web/ipuu”
ServerName www.ipuu.cn
</VirtualHost>

这样一个虚拟主机站点就配置好了,保存后重启apache,然后在浏览器地址栏里输入www.ipuu.cn就可以访问了,不过还有一个前提就是保证www.ipuu.cn的A记录指向到你的这台机器的IP上。

这个地方可以通过本地机器的hosts文件来解析域名指向到自己要指向的域名,方法是:打开C:\WINDOWS\system32\drivers\etc目录,然后用文本编辑器打开hosts文件,在下面空白处添加一行解析规则,这里还是以www.ipuu.cn为例,如下:

127.0.0.1   www.ipuu.cn

保存,退出,然后重新启动浏览器,在地址栏中输入www.ipuu.cn,这个域名就通过本机的hosts文件解析到本地的127.0.0.1这个ip上了,以此类推。此方法的优先权大于我们平时用到的DNS服务器的解析优先权。

Tags: , , ,
Posted in Server
Feb
18

提到秒杀,玩过网络游戏的人可能对这个词很熟悉,基本的意思就是指在极短的时间内把人杀死。而我今天说的这个秒杀,是和购物有关的。

北京晚报讯:“走,中午‘秒杀’去”!“秒杀”,这是最近年轻白领常常提及的话题。这个生动的词汇是网络上竞价抢购的一种方式,是指热门商品一放到网上,几十件、上百件马上就会被一抢而空,有时甚至只用了一秒钟。

“秒杀”玩的就是心跳

新货上架立刻被抢购一空,一看交易记录,都是以秒为间隔成交的。听起来有点不可思议,但确实在网络购物中十分流行,这就是热传的“秒杀”。参与“秒杀”也被人们形象地形容为“蹲坑”。不少热衷“秒杀”的网友玩儿的就是这份心跳。

李女士最近就彻底体验了一把“秒杀”,李女士5岁女儿幼儿园的小朋友都以抢购到淘宝上某家店内的新款芭比娃娃为骄傲。由于芭比娃娃的进货数量有限,家长们只好到了公布新货的时间死死盯着网上,一遍又一遍刷新网络,一看到上架就立刻给孩子拍下。

“抢到了就特别有成就感!我和周围许多朋友就喜欢这个刺激!”北京的外企白领小樊是一个“秒杀”高手,她告诉记者,平时就喜欢找瑞丽版服饰“秒杀”店搏击,谁抢到了热门“秒杀”商品,可以在朋友面前好一阵炫耀。

“秒杀”必须准稳狠

并非所有人参与“秒杀”都能满载而归,这要求竞购者手疾眼快,就像武侠小说里的高手,埋伏在某个网点上,等热门新货一上架,立刻准稳狠地出手竞拍,手快的可以扫到好几件,手慢的一件也抢不到。

“一般来说你得不断刷新!”网友GOLDFISH告诉记者,秒杀网店一般提早就公布了上货时间和货品样式,看上了就得比这个时间早一些蹲点,不停刷新页面,看见了立马按下鼠标抢购。如果不是固定价格,而是竞价就更复杂了,建议直接说出自己的心理价位。比如说一件东西10元底价,幅度是5 元,有人出到30元,最后你出价50元并成功拍走,那么系统也是按35元收费而不是50元。

“秒杀”乐趣在于抢

“秒杀就像传统购物的限时抢购,乐趣在于抢!”一位经常参与限量版“秒杀”的网民告诉记者,许多人都把玩“秒杀”当成游戏而不是纯粹的购物,当时公布新品的那一刻非常紧张,就像伏击多时的杀手终于等到了猎物。

记者了解到,吸引人们参与“秒杀”的商品多是数量稀少难得,比如为数不多的外贸尾货服装或是限量版玩具和手工制品。在许多年轻人的生活圈子里,会以拥有这样的商品为荣耀。

另外,一些网络红人“秀”过的衣服也会因为偶像效应受到追捧,往往一上架就被“秒杀”。

更多购买者参与“秒杀”获得更多的是抢购时的那份刺激,但有些商品抢过了就后悔。“因为头脑一热就‘秒杀’了一件衣服,结果不能穿!” 论坛上也时常有人抱怨自己非理性“秒杀”。记者看到,淘宝上的“秒杀”店也良莠不齐,有些则是借着“秒杀”的噱头刺激了消费者的购买欲。

Tags: ,
Posted in 网络文摘
Feb
12

首先用root登陆Linux
然后执行命令:cd /usr/local
新建一个Zend目录:mkdir zend
进入后执行下载命令:wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar -xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
./install.sh
然后一路回车就可以了。
安装完毕后,在/usr/local/lib 下,php.ini就被重写保存并且存储了一个php.ini-zend_optimizer.bak 文件(未安装Zend Optimizer之前的文件)

在服务器的网站目录里面新建一个文件,代码是:

phpinfo();
?&
gt;

保存并执行,这样就可以看到里面有Zend Optimizer的信息了。

zend

Feb
11

曾经,百度有一个唐伯虎题材的广告,说的就是谁更懂中文的事,而今天我也说一下这个谁更懂中文的事儿。

也许在2年之前,百度真的可以宣称自己更懂中文,而现在他可能就不敢这么说了。

根据Alexa的数据显示,谷歌的搜索用户数已经超越百度。而从单纯搜索方面来说,除去百度前面竞价排名的那些网页,百度的搜索匹配也越来越不如谷歌准确了,下面这个是我以搜索“判断某网页某元素是否存在”为关键词来进行一下对比,我的意图是想查找怎么用javascript判断网页中某个元素是否存在的文章,具体谁搜索的准确的,大家自己看就行了。

google_search

baidu_search

也许你说一个关键词能说明什么,也许是凑巧呢,是啊,如果你这么认为的话,那我只能给你推荐个办法试试:强忍着你的痛苦使用google一个月,并经常把相同的关键词和百度做对比,尤其是比较长的词,一个月后你就支持我的看法了。

写完了这篇文章,最后我声明一下,谷歌和百度与我没有任何关系,是对是错,是好是坏,大家自己来评判就行,我平时两者都用,哪个搜出来的结果准确我就看哪个,但是一般情况下还是谷歌更准确一些,尤其是一些稀缺资源。所以我也不是什么托,如果哪个搜索给我的博客排个比较好的名次,那我就。。。。哈哈,开个玩笑~~

Feb
09

今天在为数据库中的某两个字段设置unique索引的时候,出现了Specified key was too long; max key length is 1000 bytes错误,经过查询才知道,是Mysql的字段设置的太长了,于是我把这两个字段的长度改了一下就好了。

建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000:
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character
举例能看得更明白些,以GBK为例:
CREATE UNIQUE INDEX `unique_record` ON reports (`report_name`, `report_client`, `report_city`);
其中report_name varchar(200), report_client varchar(200), report_city varchar(200)
(200 + 200 +200) * 2 = 1200 > 1000,所有就会报1071错误,只要将report_city改为varchar(100)那么索引就能成功建立。
如果表是UTF8字符集,那索引还是建立不了。

Tags: ,
Posted in PHP | MySQL
Feb
04

很久没有为我的Nokia E51安装软件了,昨天晚上在网上搜索了一番,找到了几款让人很惊喜的软件,下面就给大家介绍一下这几款软件。

1、手机谷歌地图
手机版的谷歌地图集成了PC版的谷歌地图的主要功能,而且带GPS导航功能,是个相当不错的工具。
2、免费正版手机地图导航软件—迷你地图
迷你地图手机导航软件地图浏览、地点搜索、查找周边、公交换乘/驾驶路线、城市地图、WIFI和GPS等功能。
3、柳丁来电
一款优秀的免费手机来电管理软件,来电即显示归属地.并提供查询功能。它同时还提供在线自制来电主题,自动更新来电主题等功能,与来电通一样来电显示归属地,提供电话归属地查询功能。
4、A4输入法
A4 输入法是公认好用的智能手机输入法,快捷的词句输入、自动记忆功能、丰富的设置,让手机打字速度得到质的飞跃,带来无限的输入乐趣。
5、搜狗手机输入法
搜狗输入法是搜狐公司开发的一款手机输入法,由于继承了搜狗输入法PC版的很多特点,搜狗输入法手机版已经成为很多人使用的手机输入法。
6、有道词典手机版
网易在推出有道词典PC版本并获得不俗的成绩之后,又推出了有道词典的手机版本,手机版本和PC版本非常相似,也非常好用,是个难得的手机软件。
7、MSN手机版
手机MSN作为Windows Live 在手机平台的延伸,继承了Windows Live品牌整合服务的概念,为用户提供了便捷的一站式网络服务。最新版的手机MSN5.0更提供了集聊天、搜索、社区、交友、资讯、阅读等一系列精彩功 能为一体的用户体验,为我们圆了方便使用网络的梦想。
8、QQ2008手机版
提到QQ手机版本,相信很多人都用过了,现在的QQ2008已经做得非常强大了,很多功能已经可以和PC版本没有什么差别了。
9、飞信手机版
中国移动推出的手机聊天工具,通过飞信可以免费发短信,打电话也更便宜,这点手机QQ和手机MSN都比不上。
10、CorePlayer
手机自带的视频播放器支持的格式很少,而CorePlayer是一款功能非常强大的多媒体播放软件,支持大部分流行的影音媒体格式,非常好用。
11、Screenshot截图软件
手机截图软件,上面的那些手机软件图片全靠这个软件才能截下来。需要注意的是,某些型号的手机需要将镜头盖打开才能截图。

这次安装的手机软件让我感觉到现在的手机软件已经越来越强大了,很多软件已经完全可以和PC版本的想媲美了,真是只有想不到,没有做不到。

Feb
01

过年这段时间在家上不了网,多少有点无聊,于是就在琢磨怎么通过手机上网,最后找到两种办法:一种是通过Nokia都PC套件来上网,另一种是通过蓝牙连接手机拨号上网。下面我就详细来讲解一下这两种上网都方法。

一、通过Nokia都PC套件来上网

这种方法比较简单,操作起来也比较容易。

1、下载并安装PC套件。

0

2、安装到最后有一个连接到手机的提示,这里有三个选项:电缆连接、红外连接和蓝牙连接,我们选择蓝牙连接。

connect

3、选择连接方式之后,手机就可以和笔记本通信了,那现在我们打开PC套件,然后点击上面都连接Internet的图标。

1

4、笔记本搜索蓝牙设备并通过手机modem连接上了Internet。

2

5、笔记本通过蓝牙连接上Internet之后,笔记本都右下角弹出一个网速的提示,并且做本地连接窗口里面建立了一个“Nokia E51 Bluetooth Modem (OTA)”的连接,以后就可以通过这个连接来上网来。

3

二、通过蓝牙连接手机拨号上网

这种方法稍微复杂一点,主要是设置的比较多,但是这个唯一的好处就是不用安装附件软件,如PC套件,只要笔记本支持蓝牙,并安装有蓝牙驱动就可以了。

1、右键点击笔记本上都蓝牙图标,选择“添加蓝牙设备”。

01

2、程序将会自动查找周围都蓝牙设备,最后找到手机设备yoyo。

11

3、选择手机yoyo,点击下一步,将会看到很多功能。

21

4、选择“Dial-Up Networking”,点击下一步,然后点击完成,将会弹出拨号窗口。

4

5、用户名和密码留空,做拨号一栏里面填写*99***1#或者*99#,然后点击“拨号”按钮,不一会儿笔记本就连接上Internet来。

6

特别说明:在有些地区,仅仅这样设置是不行的,还需要为蓝牙都调制解调器属性里面加一条命令,步骤:右键我的电脑->属性->设备管理器->调制解调器->蓝牙调制解调器->属性->高级,做“额外的初始化命令”一栏中输入AT+CGDCONT=1,”IP”,”cmnet”,然后保存重新拨号就可以了。

第一种方法我很早就尝试过来,第二种方法是过年这段时间我在家自己不断摸索出来的,希望对大家有所帮助。可能很多人对我这种上网方式感到不以为然,我承认这不是什么好的办法,但是这种办法在关键时候可能就能派上用场。

最后提醒一点:对于手机GPRS包月流量不是很富裕的朋友,请在上网的时候多多注意自己的流量,因为超了之后的价格是很贵的,北京移动超1M的流量就是10元钱左右。