NoRax

2008年5月8日 #

Win2003 WinHTTP Web Proxy Auto-Discovery Service 导致的服务器重启

解决办法:

禁用服务 Win2003 WinHTTP Web Proxy Auto-Discovery Service。
双击右下角的时间,在“Internet时间”选项卡中将“自动与 Internet 时间服务器同步”选项去掉。

posted @ 2008-05-08 18:39 NoRax 阅读(3397) | 评论 (1)编辑

w3wp.exe 频繁重启 (Faulting application w3wp.exe)

Faulting application w3wp.exe,
version 6.0.3790.3959, stamp 45d6968e,
faulting module kernel32.dll, version 5.2.3790.3959,
stamp 45d742c2, debug? 0, fault address 0x0000bee7.

中文搜索没有找到解决办法。英文搜索也没有找到解决办法。最后自己还是只能靠自己。
原因在于,IIS的应用程序池主动回收w3wp.exe进程,就会使其崩掉。这应该是微软的一个BUG。
解决办法非常简单,打开应用程序池的属性页,在“回收”选项卡把所有的复选框去掉,让.NET的垃圾回收来管理内存而不要让IIS来插手。
已经运行2天了,一切正常。

posted @ 2008-05-08 17:57 NoRax 阅读(746) | 评论 (1)编辑

2007年6月2日 #

Google在中国打败百度的方法其实很简单.只要需改变5点.

1 、将页面字体改为Windows 2000 的Tahoma 8pt。(已经改了)
2 、在搜索结果中,除了列出页面网址和大小,还要保留收录更新时间。(已经改了,但yyyy年M月d日的格式比yyyy-M-d少了简洁感)
3 、解决点击“网页快照”后显示“找不到服务器或 DNS 错误”的问题。
4 、“网页快照 - 类似网页 - 加入笔记本”太长了,增加了视觉密度,去掉后两者,或用图标代替,或颜色再浅些。
5 、点击结果应该在新窗口中分别打开,而不是在新窗口中重新加载(前段时间如此),更不是在本页跳转(目前如此)。

其中1、2、3、5是造成百度占市场50%以上的最主要原因。特别是第5点。
当一个用户告诉你他不用Google用百度的时候,也许他自己都说不清楚为什么。其实这是用户体验悄悄的决定的。在没有竞争的时候尚不明显,在技术差距不大的竞争面前,用户体验是决定性的。我就是因为2、3、5不用Google的,虽然我很喜欢Google。细节决定成败。

posted @ 2007-06-02 03:01 NoRax 阅读(316) | 评论 (6)编辑

2007年4月20日 #

SQL无限级树的读取(不用CTE)

SET NOCOUNT ON

DECLARE  @ProductId  uniqueidentifier
SET        @ProductId  = '75a42220-ef03-42ec-a8d7-8f212654a646'

CREATE TABLE #TempProducts
    (
        IndexId            
int IDENTITY (01NOT NULL,
        ProductId         
uniqueidentifier,
        Quantity          
int,
        TotalQuantity   
int,
        Depth              
int,
        RankLine          
nvarchar(MAX)
    )

    
DECLARE @Depth          int
    
DECLARE @IndexId        int

    
SET        @Depth = 0
    
SET        @IndexId = -1

    
INSERT    #TempProducts(ProductId, Quantity, TotalQuantity, Depth, RankLine)
    
VALUES    (@ProductId11@DepthCAST(@ProductId AS nvarchar(36)))
A:
     
SET        @IndexId = @IndexId + 1

    
IF (@IndexId <= SCOPE_IDENTITY())
    
BEGIN
        
SET @Depth = @Depth + 1

        
INSERT    #TempProducts (ProductId, Quantity, TotalQuantity, Depth, RankLine)
        
SELECT    c.ChildProductId, c.Quantity, t.TotalQuantity * c.Quantity, @Depth, t.RankLine + STR(c.Rank) + CAST(c.ChildProductId AS nvarchar(36))
        
FROM    dbo.mappor_ChildProducts c INNER JOIN 
            #TempProducts t 
ON c.ProductId = t.ProductId AND t.Depth = @Depth - 1

        
GOTO A
    
END

    
SELECT    * 
    
FROM       #TempProducts
    
ORDER BY t.RankLine

posted @ 2007-04-20 14:40 NoRax 阅读(286) | 评论 (3)编辑

2007年3月15日 #

读取图片的EXIF信息

     摘要:  usingSystem;usingSystem.Drawing;usingSystem.Drawing.Imaging;usingSystem.Collections;usingSystem.ComponentModel;namespaceTest.Com{///<summary>///功能:获得图片EXIF信息///作者:Rexsp///创建日期:2004-03-20//... 阅读全文

posted @ 2007-03-15 02:31 NoRax 阅读(429) | 评论 (0)编辑

2007年3月11日 #

IIS6.0 压缩

1. HTTP压缩概述

    HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。


2. HTTP压缩工作原理

    Web服务器处理HTTP压缩的工作原理如下:

  • Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
  • 如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
  • 如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
  • 如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
  • 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
  • 如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。


3. IIS 6.0中配置HTTP压缩的步骤

    IIS 6.0中配置HTTP压缩的步骤如下:

  • 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
  • 在Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";
  • 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为"TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低;
  • 编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存;
  • 最后,重新启动IIS。可以到HTTP压缩测试网站验证结果。

posted @ 2007-03-11 00:54 NoRax 阅读(167) | 评论 (1)编辑

2007年3月9日 #

Google Sitemaps 在线生成

中文 -----   http://www.mysitemap.net/    不错啊这个,可以生成整站的,生成后还发邮件提醒你,HOHO
E文 -----    http://www.sitemapspal.com/  挺快的
拥有自己的网站,要想让 Google 有效地查找、索引并对您的网站进行排名,你就需要在网站上添加一个 Google Sitemaps 文件。(什么是 Sitemap 文件?为什么我需要一个?)而手动制作一个 Sitemap 文件,对一般的人来讲,是件困难的事。这也让许多站长,面对性能优越的 Google 网站管理员工具却无法发挥作用。

Google Sitemaps 中文首页
https://www.google.com/webmasters/sitemaps/login?hl=zh_CN

注册然后查看了一些关于Sitemaps的介绍,基本上搞清了是怎么一回事.
本来想用Sitemaps生成器生成Sitemaps.
但我用的是虚拟主机,没有主机权限,下载的生成器好像不管用.
于是又查找一些其它的方法,终于知道了还有一些网站提供在线生成服务.

如果我的网址无法由 Sitemaps 生成器支持的机制之一提取,该怎么办?http://code.google.com/sm_thirdparty.html

找了几个在线生成的网站试了下,各有千秋,
下面都是E文的,阅读应该没什么问题.
当然也有中文的拉-----   http://www.mysitemap.net/
下面就是我对三个在线生成Sitemaps网站的试用手记.

1.Sitemapspal http://www.sitemapspal.com/
界面简洁实用,输入要生成的网站网址后,只需要做一些简单的参数调整,就可以生成.
生成的速度比较快,而且生成的Sitemaps的XML文件提供复制与下载.
缺点是只支持一级链级深度,就是说生成的文件里的URL只有首页上包含的站内链结.
如果你的网站的一些链结没在首页上,生成的Sitemaps就不会有这些链结的URL.
一级链结深度也就算了,它连这一级的链结也不能完完整整的生成出来.
反正我生成的Sitemaps里就有好多明明在首页上有链结的URL没有包含在里面.

2.XML-Sitemaps Generator http://www.xml-sitemaps.com/
一样的,输入网站的网址后,再做一些参数调整,按下Sart就可以生成了.
生成完成后,提供以下四个文件下载:
sitemaps.xml,sitemaps.xml.gz,sitemaps.html,urllist.txt.
不用解释了吧,下载下来就知道是干什么用的了.
缺点:生成速度慢了点,虽然没有链结深度的限制,但是有链结数目的限制,500个.
它会一页一页的读取,不管有几级链结,但是最多只会生成包含500个URL的Sitemaps.
如果不想受到任何限制,那么也好办,请交钱,不多,几美元而已.

3.Free Sitemap Generator http://www.freesitemapgenerator.com/
需要用邮箱注册并验证激活,激活后可以自行添加要生成Sitemaps的网站.
不限制链结深度,不限制链结数量,但是速度巨慢,可能是因为每一页都要去读取的原因.
按下MAKE SITEMAPS之后就可以不用管了,即使你不在线也不会有任何关系.
因为它会在服务器上为你慢慢地慢慢地生成的,你完全没必要盯着它的进度数一点点地上升.
生成完成后它会往你的邮箱发邮件通知你,如果你的站很大,一般要N个小时后才会收到.
请特别注意,这里的N个小时中的N很有可能会是两位数,不别说我没提醒你.
如果想高速生成就必需满足它的一点小要求——在你的每一个页面上加上一段链结代码.

这只我一个人的试用结果,大家用了后都说说感受,这才能做出公正的判断.

Sitemaps文件生成好了之后就可以登录GG提交了,这事再简单不过了,不多说了!

posted @ 2007-03-09 16:17 NoRax 阅读(440) | 评论 (1)编辑

微软:我们将支持OpenID

说起OpenID,可能很多人还不大熟悉。当你到某个网站的时候,你需要注册一个用户名,填个邮箱什么的,到下一个网站,这个过程又要重演一次。如果遇上信息变动,那么你就需要多次更改你的原始资料……

OpenID就是为了解决你“超负荷”的注册而产生的一项服务。一旦你建立起你的用户信息后,当你需要登陆一个新的站点时,它能将其指向你存放信息的站点。这个存放注册信息站点将会把你的用户资料发送给你要注册的新站点,从而使其知道你是谁并让你顺利登陆。

用起来虽然方便,可是还是需要网站的支持,目前支持这种功能的网站并不多,维基上给出了一个能支持功能的列表,不过目前这个列表并不长。类似的服务微软曾经想做过,但是以失败告终,据说是因为用户并不信任微软。现在OpenID出现并已经形成一定的规模,微软主席比尔盖茨在基调演讲中表示,他们将提供对OpenID的支持。

盖茨表示,他们会在CardSpace中支持OpenID 2.0,CardSpace是一个Vista中内置的具有OpenID特色的功能。一名密码学专家Bruce Schneier担忧微软的行为可能别有用心,但他也肯定了OpenID的作用:“这有一点令人不安,但是我相信在Web 2.0时代,OpenID是很不错的,而且它不由微软来推动。”

推荐一个网站:OpenID动态,关注网站身份验证服务

posted @ 2007-03-09 13:51 NoRax 阅读(111) | 评论 (0)编辑

2007年3月6日 #

Google 使用的技术


Google软件工程
的关键是PageRank技术和其他应用程序。其本质是进行代码编辑和思考如何最有效地利用系统资源,提高工作效率
Google的硬件工程包括:优化服务器构架,电缆的布置,冷却装置和数据中心的布局设计。其核心目标是更低的运行成本,以及能够应对日益增长的计算资源需求的能力。

Google的PageRank技术
即对全世界的网页进行一个系统的排名。注意,Rank对象是网页,不是网站。

Google数据中心
Google在全球有很多数据中心。数据中心通常装载有10000台或更多的Google自己按需要配置的计算机组成(计算机工作组);这些数量庞大的计算机之间进行自动配置,很少需要人为的干预。
每个Google数据中心计算机的硬件都是市场上常见的计算机硬件,每一个Google服务器都是一个标准的pizza box,唯一的区别是那些插头和端口都在盒子的前端。
Google服务器组是对Google 服务器进行有序地配置,通常情况下,一个标准的服务器组可以包括40至80台pizza box服务器。
一个Google数据中心的堆栈可以在72小时之内实现其上网运行的功能,而其他一般的数据中心常常需要一周甚至一个月的时间才能获得额外的在线资源。
每一个服务器数据中心的运行方式类似于“plug and play”。当更多资源接入时,Google的网络数据中心都将会知道。多数情况下,这些资源都无需人工干预,直接进入运行。
在Google,软件和硬件的交叠得到了很好的共生和发展。Google在概念上和更接近于IBM(既是一个软件公司又是硬件公司)
在Google,软件和硬件工程不可以简单的分开讨论。
Google的技术及其理念都处于计算机科学的前沿,其中有很多大革新例如大规模的分布式结构和高速的并行运算。

低廉的硬件系统和灵活的软件系统
Google使用普通的硬件来满足其较高的需求,从1996年起,24X7系统就作为它的核心规则而存在。尽管大多数网络系统的竞争者都采用IBM、赛扬、戴尔和Hewlett-Packard的计算机,并配有专门的外围设备;在操作系统方面,大多是融合了Unix和Microsoft的操作系统,还有一些Linux的开放源代码。而Google为了降低硬件系统的成本,采用了大量廉价的设备包括控制器、电缆和内存。同时,Google也在构思用灵活的软件来弥补低廉的硬件设备对系统运行效率的影响。因此低价的、普通的硬件设备和灵活的软件系统是Google文化的一个主要部分之一

逻辑体系
Googleplex可以对文件、服务器、簇和数据中心进行高效的管理和运作。Google技术的基础构架与Googleplex在很多方面都很相似,Google的不少应用程序都是在Linux系统下的超型服务器上运行的。Googleplex不仅可以处理诸如用户查询搜索等日常事务,还实现并行计算,一边将用户所需的结果在终端显示,一边进行高速的数据传输和存储。而有趣的是,Google的高效率却是基于如此低成本的普通硬件运行系统。在Linux系统下,Google允许其软件系统进行数据恢复,允许信息在服务器之间进行的线程传递,在执行任务的过程中,允许计算机获取更多的资源来加快运算进程。当需要增加处理容量或额外的数据存储时,Google引擎会自动加载所需的资源,会根据系统的兼容性,来识别、配置和使用新的资源。就是因为Google操作系统自适应的体系结构,因此它允许每个文件在不同的存储设备中备份三至六次。当某份文档不能被访问时,Googleplex就会通过访问日志找到所需文件的备份,继续程序的执行。

运算速度快
Google可以在一秒钟之内迅速将用户所需的查询结果反馈给用户。商业用户可以通过购买高性能的终端、硬盘、高级存储设备何光纤电缆来获得更高的运行和传输速度。Google用普通的pizza box服务器来组建组群,形成一个更有效的系统。这样,Google就不用借助外来服务器的处理器,通常只需在类似于家用电脑的台式机上,用含有两个类似于组群的处理机服务器就可以了。通过对Linux性能的改进和其他机器的革新,Google可以在普通的计算机设备上达到超型计算机的运算效率。
运算速度对于Google的PageRank和其他的分析程序而言是至关重要的。Google并不是将用户查询的关键字和库中的索引进行盲目的匹配,它所采用的方法更加的巧妙。先对数据进行整理,通过特定的运算规则赋予不用的权重和价值;然后用其他的算法对这些不用的价值进行处理,找到最佳的匹配结果,将信息提取出来,与此同时,Gooogle根据页面的访问点击量对这些权重及时更新,重新赋值。这些运算过程几乎都是在一秒钟之内完成的。因此,Google是一个高效的计算系统。

Google对每一份数据分散在不同的服务器上进行多次备份(分布式存储),当某个设备不工作时,主服务器会搜索其他备份的数据或程序继续执行程序或任务。这期间没有人为干预,没有时间延迟。
Google不需要新的硬件设备,当需要额外的存储或运算能力时,Google通过组群来识别和加载新的资源,让Googleplex能够继续处理其他任务,因此就节省了购买那些经过认证的昂贵处理器的开销。
Google利用开放的源代码进行革新。Google的许多技术创新都是基于对开放软件的修改,通过对超型计算机的敏锐洞察,提取新颖的革新方案。因此它不需要知道商业在线运行系统的瓶颈,也不需要为Googleplex设计完整的操作系统代码。

Google技术小结
Google为用户提供了各种有用的技术专论,例如运算规则、最优化编译器、信息恢复、人工智能、系统文件设计、数据仓储遗传算法、软件工程和设计、操作系统和分布式系统等。在这些文档中,详细地介绍了Google在改进了的Linux操作系统下是如何自动进行任务分配、避免系统文件瓶颈干扰的。
 

posted @ 2007-03-06 14:51 NoRax 阅读(377) | 评论 (0)编辑

2007年3月1日 #

ASP.NET 2.0 页面编译方式

转自MSDN

  1. The code-behind file contains a partial class that inherits from a base page class. The base page class can be the Page class, or it can be another class that derives from Page.
  2. The .aspx file contains an Inherits attribute in the @ Page directive that points to the code-behind partial class.
  3. When the page is compiled, ASP.NET generates a partial class based on the .aspx file; this class is a partial class of the code-behind class file. The generated partial class file contains declarations for the page's controls. This partial class enables your code-behind file to be used as part of a complete class without requiring you to declare the controls explicitly.
  4. Finally, ASP.NET generates another class that inherits from the class generated in Step 3. This second generated class contains the code required to build the page. The second generated class and the code-behind class are compiled into an assembly that runs to render output to the browser.

posted @ 2007-03-01 20:30 NoRax 阅读(331) | 评论 (1)编辑

导航

统计信息

与我联系

搜索

 

常用链接

留言簿

我参与的团队

我的标签

随笔分类

随笔档案

链接

最新评论

阅读排行榜

评论排行榜