前天正在家看电影
显示器突然黑屏
多次折腾发现开机10分钟左右黑屏,关掉再开5秒后黑屏。
百度谷歌后确认是灯管老化所致。
12元淘宝买了4跟灯管
今日换上 问题解决。
换灯管过程没网友说的那么危险,只要小心一些,就没事。
作者:freethy 发布于:2011-8-6 14:22 Saturday
前天正在家看电影
显示器突然黑屏
多次折腾发现开机10分钟左右黑屏,关掉再开5秒后黑屏。
百度谷歌后确认是灯管老化所致。
12元淘宝买了4跟灯管
今日换上 问题解决。
换灯管过程没网友说的那么危险,只要小心一些,就没事。
作者:freethy 发布于:2011-8-4 14:23 Thursday
R001(300k)电阻断路导致,办公室没有材料,随便在一个坏UPS上拆了两个120欧的电阻串联上去,一切恢复正常。作者:freethy 发布于:2011-7-7 14:24 Thursday
301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:
301 redirect: 301 代表永久性转移(Permanently Moved),
302 redirect: 302 代表暂时性转移(Temporarily Moved ),
当然 Http 状态 200 标示没有任何问题发生。
这两种转移在使用的时候有啥好处或者问题?
301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
302 重定向是临时性转移。
在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
研究搜索引擎优化(SEO)的人,应该都知道,301,302 使用不当,或者灵活使用会有不错的效果的,比如参看下面文章:
301重定向的实现方法51window提供的301转向的代码一个网站十几个域名的重定向经验谈几个常用的301重定向
如果是运维人员,配置WEB服务器的一些设置就可以实现跳转,比如下面一些关于IIS实现重定向的文章
将请求重定向到文件、目录或程序 (IIS 6.0)
重定向参考 (IIS 6.0)
其他WEB服务器也可以通过设置实现跳转,我就不罗列了。
从技术人员来说我们比较常用的跳转方法有以下几种:
我们使用 Fiddler 工具来监控的下面提到的几种方法,看跳转过程中HTTP状态码是301?302?200?:
方法1:Response.Redirect("Test.aspx");
状态码 302 临时性跳转
方法2:<meta http-equiv="refresh" content="5; URL=Test.aspx" />
meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。这种跳转方式,整个跳转过程中,页面Http状态都是200,即,页面没有任何错误发生。
方法3:Server.Transfer("Test.aspx");
这种跳转方式,整个跳转过程中,页面Http状态都是200,即,页面没有任何错误发生。
方法4:URLRewrite
这种跳转方式,整个跳转过程中,页面Http状态都是200,即,页面没有任何错误发生。
没有一种是301跳转。也就是上面几种跳转方式都用不到301跳转的好处。
使用301跳转有啥好处呢?
SEO(搜索引擎优化)中提到一点:如果我们把一个地址采用301跳转方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。
如何编码实现301跳转呢?
Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","...");
这里的 ... 表示你要跳转去的页面。
from:http://blog.csdn.net/xielingxu/article/details/1837759
作者:freethy 发布于:2011-6-21 14:24 Tuesday
错误15023:当前数据库中已存在用户或角色
在把远程服务器上的数据库备份还原到本地机后, 给一个"登录"关联一个"用户"时(用户映射),发生错误:
“错误15023:当前数据库中已存在用户或角色”
把原因及解决办法如下:
在迁移测试平台数据库的过程中发现,在两台服务器上运行的sql server 服务器之间迁移数据库的之后,会出现一个在源服务器上可以正常的用户在目的服务器上无法登录的情况。
首先介绍一下sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID) 与用户关联。将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况被称为存在“孤立用户”。 此时是不能通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题,因为SQL Server会报出“错误15023:当前数据库中已存在用户或角色”,为了解决这个问题,需要调用系统存储过程 sp_change_users_login,具体用法如下:
Use Northwind
go
sp_change_users_login 'update_one', 'fwg', 'fwg'
其中Northwind为存在孤立用户的数据库,update_one是存储过程的参数,表示只处理一个用户,前一个fwg是“用户”,后一个fwg是“登录”,以上这个SQL表示将服务器登录“fwg”与 Northwind 数据库用户“fwg”重新连接起来。这样就可以正常使用数据库了。
from:http://hi.baidu.com/goncolin/blog/item/2db5f1d7fc97dd3906088b5b.html
作者:freethy 发布于:2011-6-14 14:14 Tuesday
今天在做一个网站的时候。进行URL重写操作。结果出现了两个让人意想不到的事情。。真是头疼
第一个到现在还没有结果呢。。也不知道具体是什么原因
配置好映射以后。其他页面都正常重写成功。但有个别重写不了
一个是about.aspx,一个是contact.aspx
实际访问这两个ASPX文件都可以正常显示。
重写成about.html和contact.html就是打不开。。提示该页无法显示
网上搜索也没什么结果。后来我把文件名改了一下。改成company.aspx和contactus.aspx
再重写。。就正常了。。难道这两个文件名不能使用。。真是怪?!
第二个问题。就是重写完成以后。真实存在的HTML文件却打不开了。。
不过这个问题。在网上找到了答案。。
今天把它复制下来。。以便以后查看
网上搜索出来的
问题描述:
一套网站程序使用URL重写,配置了ISAPI映射.html 动作全部,检查文件是否存在 不打勾 如下图
问题:不对IIS配置.html的映射,IIS站点目录下.html页面都能显示。当配置了.html的映射 IIS站点目录下真实存在的.html页面无法显示,错误信息:“页面无法显示”而通过自定义HttpHandlerFactory块过滤的.html文件能够显示,由于这个原因就连FCKEditor也无法正常显示。
这个问题困扰了半天,极度郁闷, 在网上找了好久,也没有个办法,有一个和我一样的问题,但上面说的解决方法却不好用,更是郁闷,后来经过n次的测试修改,才把这个问题解决了,解决方法:
1、首先照旧在网站配置的应用程序扩展名映射中添加扩展名.html映射到aspnet_isapi.dll,是否存在不选;
2、在web.config文件中<compilation>节点下添加code:
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
注:仅仅设置应用程序映射是不够的,没有为扩展名“.html”注册的生成提供程序。因此别忘了上面的code!
3、在web.config文件中<system.web>节点下添加code:
<httpHandlers>
<add path="html/*.html" verb="*" type="AutoModuleService.AutoHandlerFactory,AutoModuleService" validate="true"/>
<add path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true"/>
</httpHandlers>
注:这里值得注意的是add的先后顺序,很简单的原理,通过这个配置文件请求首先要到我们自定义的httpHandler块,如果不在我们指定的path里,则走系统的PageHandlerFactory; 还有一个要注意的地方就是,这里当
<add path="html/*.html" verb="*" type="AutoModuleService.AutoHandlerFactory,AutoModuleService" validate="true"/>
指明路径后,并不像下级目录继承,也就是当用户浏览html/vip/index.html时,并不被我自定义的 AutoModuleService.AutoHandlerFactory处理,而是被系统的 System.Web.UI.PageHandlerFactory正常处理;如果需要继承指明路径下包括下级目录所有*.html的话,则就需要做些修改了
修改方法:
上面的1和2照做;
3、在web.config文件中<system.web>节点下添加code:
<httpHandlers>
<add path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true"/>
</httpHandlers>
4、在web.config文件中<configuration>节点下使用<location>节点,添加code:
<location path ="html">
<system.web>
<httpHandlers>
<add path="*.html" verb="*" type="AutoModuleService.AutoHandlerFactory,AutoModuleService" validate="true"/>
</httpHandlers>
</system.web>
</location>
最后补充两点:
如果你用到的后缀类型是一种古怪的后缀。
比如:*.aaa *.csdn 等这样的后缀,
在IIS6 中,你需要额外再多做一步:
在IIS的站点属性->HTTP头->MIME类型中增加一个该后缀的MIME类型,不然遇到该后缀的请求时将首先被IIS给拦截掉,没办法显示的。
from:http://blog.sina.com.cn/s/blog_4831668e0100f6lo.html
作者:freethy 发布于:2011-6-8 9:15 Wednesday
//1.获取新的 Process 组件并将其与当前活动的
//进程关联的主模块的完整路径,包含文件名(进程名)。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug\DirectoryTest.vshost.exe
//result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
//2.获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug
//result: X:\xxx\xxx (.exe文件所在的目录)
//此外,System.Environment类提供了CurrentDirectory属性,
//由于该属性内部调用的就是System.IO.Directory.GetCurrentDirectory(),因此二者是等价的。
System.Environment.CurrentDirectory;
//3.获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug\
//result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
System.AppDomain.CurrentDomain.BaseDirectory;
//4.获取和设置包含该应用程序的目录的名称。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug\
//result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
//5.获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug
//result: X:\xxx\xxx (.exe文件所在的目录)
System.Windows.Forms.Application.StartupPath;
//6.获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug\DirectoryTest.EXE
//result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
System.Windows.Forms.Application.ExecutablePath;
//7.获取应用程序的当前工作目录(不可靠)。
//F:\WinTest\DirectoryTest\DirectoryTest\bin\Debug
//result: X:\xxx\xxx (.exe文件所在的目录)
System.IO.Directory.GetCurrentDirectory();
from:http://kenchell.blog.163.com/blog/static/2608830920090139353373/
作者:freethy 发布于:2011-6-7 10:15 Tuesday
什么是数据库死锁
每个使用关系型数据库的程序都可能遇到数据死锁的情况。理解什么是死锁之前先要了解锁定的概念:如果需要“修改”一条数据,首先数据库管理系统会在上面加锁,以保证在同一时间只有一个事务能进行修改操作。锁定(Locking)发生在当一个事务获得对某一资源的“锁”时,这时,其他的事务就不能更改这个资源了,这种机制的存在是为了保证数据一致性。
多数情况下,可以认为如果一个资源被锁定,它总会在以后某个时间被释放。而死锁发生在当多个进程访问同一数据库时,其中每个进程拥有的锁都是其他进程所需的,由此造成每个进程都无法继续下去。简单的说,进程A等待进程B释放他的资源,B 又等待A释放他的资源,这样就互相等待就形成死锁。
导致数据库死锁的原因
一般情况只发生锁超时,就是一个进程需要访问数据库表或者字段的时候,另外一个程序正在执行带锁的访问(比如修改数据),那么这个进程就会等待,当等了很久锁还没有解除的话就会锁超时,报告一个系统错误,拒绝执行相应的SQL操作。
发生死锁的情况比较少,比如一个进程需要访问两个资源(数据库表或者字段),当获取一个资源的时候进程就对它执行锁定,然后等待下一个资源空闲,这时候如果另外一个进程也需要两个资源,而已经获得并锁定了第二个资源,那么就会死锁,因为当前进程锁定第一个资源等待第二个资源,而另外一个进程锁定了第二个资源等待第一个资源,两个进程都永远得不到满足。
数据库死锁的解决方案
http://kenchell.blog.163.com/blog/static/2608830920100130540924/
作者:freethy 发布于:2011-6-3 10:16 Friday
要获取的ID值字段属性必须设为:自动编号(MSSQL自增长)
取得ID值的三种方式:
/* 对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')*/
Insert INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) Select IDENT_CURRENT('recordID') as newIDValue
/*对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的*/
Insert INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) Select SCOPE_IDENTITY() as newIDValue
备注:假如触发器里有插入新记录,将得到这个语句产生的id
/*对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY*/
Insert INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) Select @@IDENTITY as newIDValue
备注:假如触发器里有插入新记录,将得到触发器里产生的新记录id
作者:freethy 发布于:2011-5-20 14:17 Friday
系统中的flvplayer.swf 原名为Vcastr Flv网络播放器。
使用代码如下:
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-4445535411111' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width=500 height=400 >配置信息:
参数名称 |
参数说明 | 默认值 |
vcastr_file | 方法2传递影片flv文件地址参数,多个使用|分开 | 空 |
vcastr_title | 影片标题参数,多个使用|分开,与方法2配合使用 | 空 |
vcastr_xml | 方法3 传递影片flv文件地址参数,样板参考 http://www.ruochi.com/product/vcastr2/vcastr.xml | vcastr.xml |
IsAutoPlay | 影片自动播放参数:0表示不自动播放,1表示自动播放 | 0 |
IsContinue | 影片连续播放参数:0表示不连续播放,1表示连续循环播 | 0 |
IsRandom | 影片随机播放参数:0表示不随机播放,1表示随机播放 | 0 |
DefaultVolume | 默认音量参数 :0-100 的数值,设置影片开始默认音量大小 | 100 |
BarPosition | 控制栏位置参数 :0表示在影片上浮动显示,1表示在影片下方显示 | 0 |
IsShowBar | 控制栏显示参数 :0表示不显示;1表示一直显示;2表示鼠标悬停时显示;3表示开始不显示,鼠标悬停后显示 | 2 |
BarColor | 播放控制栏颜色,颜色都以0x开始16进制数字表示 | 0x000033 |
BarTransparent | 播放控制栏透明度 | 60 |
GlowColor | 按键图标颜色,颜色都以0x开始16进制数字表示 | 0x66ff00 |
IconColor | 鼠标悬停时光晕颜色,颜色都以0x开始16进制数字表示 | 0xFFFFFF |
TextColor | 播放器文字颜色,颜色都以0x开始16进制数字表示 | 0xFFFFFF |
LogoText | 可以添加自己网站名称等信息(英文) | 空 |
LogoUrl | 可以从外部读取logo图片,注意自己调整logo大小,支持图片格式和swf格式 | 空 |
EndSwf | 影片播放结束后,从外部读取swf文件,可以添加相关影片信息,影片分享等信息,需自己制作 | 空 |
BeginSwf | 影片开始播放之前,从外部读取swf文件,可以添加广告,或者网站信息,需自己制作 | 空 |
IsShowTime | 是否显示时间 : 0表示不显示时间,1表示显示时间 | 1 |
BufferTime | 影片缓冲时间,单位(秒) | 2 |
from:http://ytctc2006.blog.163.com/blog/static/56287700201091915649337/
作者:freethy 发布于:2010-10-6 14:18 Wednesday
用win7安装了ie9网页上面图片都不显示了经研究终于搞定重置ie9就可以解决具体步骤:打开ie9 -》 按下alt唤出菜单 -》工具 -》 Internet选项 -》 高级 -》 重置 -》 重置之后重启IE即可解决