Page 1 of 2 in the Web 技术 category Next Page
 Friday, August 27, 2010

最近做asp.net的性能调整,用到几个工具:

1) SQLServer Performamnce tool

MS SQLServer 2005 以上自带的工具,包括 Sqlserver Profiler 和 Database engine tuning advisor

Sqlserver Profiler 能够剖析和监控sqlserver的运行状况, 并生成日志

Database engine tuning advisor 可以更具profiler 生成的日志来提出优化建议, 如添加索引等, 对于初步数据库优化非常好用。

2) Apache Benchmaking tool

这是 apache http server 自带的工具, 用以测试web服务器的请求响应指标:

虽然它的初衷是给apache 服务器用的, 当然也能用于其它web server 的性能测试

如 ab -n 100 -c 2 http://www.hifar.com/blog    就是以2个请求并发 访问web 页面100 次。 然后他会把web 服务的响应情况数据记录下来甚至有些简单的分析。

3) JetBrains dotTrace

这是一个商用软件, 用以剖析 Trace .NET 应用的运行状况。 支持.net 的 windows 应用程序。 web 应用程序和web service等。 可以检测出每个函数请求的cpu占用时间等。 对于性能问题的检查有很大的帮助。

Friday, August 27, 2010 3:17:17 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Friday, June 25, 2010

今天发现一个很有意思的东西.

Smokescreen, 利用HTML5 + js 解析 flash的swf 文件实现动画效果.  而不需要flash 插件.

http://smokescreen.us/

目前支持 Firefox, Chrome, Safari. 还不支持IE (IE8 的HTML 支持太差了)  特别值得一提的是 可以在iPhone 和iPad 上运行. 但是貌似我的Android 1.6 手机浏览器不支持.

虽然目前对swf兼容性有不少问题. 但是不失为一个在没有flash 插件情况下运行swf的解决方案. 同时也可见HTML 真的很强大.

Friday, June 25, 2010 9:52:05 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Friday, February 12, 2010

1) AutoPlay Menu Builder
AutoPlay Menu Builder 是一个功能强大的光盘自动运行菜单制作工具,使用它,你不需要具备任何专业知识,只需要经过鼠标拖放和几次鼠标点击就可以轻松的制作出非常漂亮的AutoRun菜单程序,让你制作菜单象垒积木一样容易!程序采用类似于Delphi和VB的所见即所得的操作界面,是你不需要编写一行代码就只需要拖放组件就可以轻松制作出专业的菜单效果

http://www.linasoft.com/apmbuilder.php

2) ZMaker

据说是国内最好的电子杂志制作工具

http://zmaker.zcom.com/

3) MakeInstantPlayer
将视频转换成可执行文件, 唯一的缺点就是打开的时候比较慢, 因为它的本质是包裹了一个 Media Palyer Classic
http://mulder.dummwiedeutsch.de/home/?page=projects#instplay

4) MiniWebsvr (开源)

一个袖珍web服务器 可用命令行启动, 当你的光盘需要host 一些简单页面的时候 可以用这个软件

http://miniwebsvr.sourceforge.net/

5) Netbox

将web server 打包成exe 文件, 但貌似已经停止更新和维护了

http://www.netbox.cn

Friday, February 12, 2010 7:04:28 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Thursday, February 11, 2010

几种跳转方式的区别

301 Redirect: 代表永久转义

302 Redirect: 暂时转移

200 : 在服务器上完成了页面的转移, 对客户端完全透明

302 Redirect 由于是暂时转移,如果把自己的网址A转到一个网址B上, google 等抓取工具可能会把你的网址A作为网站B内容的入口点, 这样网址B 就被劫持了。

所以, 如果你网站要用302 转移, 千万要慎重, 如果被google误认为是恶意劫持, 可能就会被加入黑名单了。

asp.net 实现这些的方法

301 Redirect:

            Response.Clear();
            Response.StatusCode = 301;
            Response.Status = "301 Moved Permanently";
            Response.AddHeader("Location", "/Homepage/default.aspx");

302 Redirect:

Response.Redirect("Homepage/Default.aspx");

200 无错误代码的使用转移

Server.Transfer("/Homepage/Default.aspx");
Thursday, February 11, 2010 3:37:03 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Saturday, February 06, 2010

目前的流量起都支持传输gzip内容压缩的页面, 这样可以大大提高传输性能

方法1: IIS 设置

a)打开Internet信息服务(IIS)管理器 -> 站点 (指总体的) ->右键属性

在服务项里面, 静态内容压缩和动态内容压缩, 其中静态内容压缩必需要指定一个写压缩临时文件的目录, 该目录必须有IIS的写权限

b) 添加一个一个服务扩展

名称随意

dll: C:\WINDOWS\system32\inetsrv\gzip.dll

并且启用

c) 修改 C:\WINDOWS\system32\inetsrv\Metabase.xml

添加需要压缩的静态和动态的扩展名

方法2: asp.net MVC 做网页内容压缩

对于MVC的程序由于没法指定扩展名, 需要用actionfilter的方法

创建一个类: CompressFilter

    public class CompressFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpRequestBase request = filterContext.HttpContext.Request;

            string acceptEncoding = request.Headers["Accept-Encoding"];

            if (string.IsNullOrEmpty(acceptEncoding)) return;

            acceptEncoding = acceptEncoding.ToUpperInvariant();

            HttpResponseBase response = filterContext.HttpContext.Response;

            if (acceptEncoding.Contains("GZIP"))
            {
                response.AppendHeader("Content-encoding", "gzip");
                response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
            }
            else if (acceptEncoding.Contains("DEFLATE"))
            {
                response.AppendHeader("Content-encoding", "deflate");
                response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
            }
        }

    }

    在对应的controller action 中使用即可打到压缩的效果

        [CompressFilter]
        public ActionResult Index()
        {

            . . .

        }

 

Saturday, February 06, 2010 4:55:53 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, February 22, 2009

有时候我们要给所有的html input 标签设定相同的css, 那可以这样写:

INPUT
{
 border: 1px #444444 solid;
}

但有时候, 我们可能仅要对特点type的input 标签 (如:文本框 )设定 相同的css 怎么作呢?  一个一个设太麻烦了.

因此, 对于 firefox 浏览器 我们可以这样写

INPUT[type="text"]
{
 border: 1px #444444 solid;
}

但以上方法 IE是不支持的, 对于IE , 我们就需要这样写:

INPUT
{
 border: expression((this.type=="text")?"1px #444444 solid":"style");
}

Sunday, February 22, 2009 4:58:05 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Tuesday, February 17, 2009

今天1月底, ASP.NET MVC 的RC1 终于出了, 好在兼容性上没有什么大问题, MVC beta4 的代码编译运行都不会报错。但是在页面输入校验上做了增强。

众所周知, 传统ASP.NET 缺省是对页面上的输入提交内容做校验的, 若提交的内容里面带有潜在危险,如: HTML 标签, javascript 代码,  就会报 A potentially dangerous Request.Form value was detected from the client

要想关闭潜在性危险的校验有两种方法:

1) 在aspx  页面上加: <%@   Page   validateRequest="false"   %> 

2) 在web.config  的<system.web>   标签内加: <pages   validateRequest="false"   />   

MVC RC1 对于输入请求也加上了安全校验, 但是MVC的处理方式和通常asp.net 的处理方式不同, 因此若要禁用该功能, 不能用上述传统asp.net 所用的两种方法。 而是需要在Controller 的Action 上加上ValidateInput 属性, 如下:

        [ValidateInput(false)]
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult SubmitDocument([Bind(Prefix = "")]EPortal_Document mdl)
        {
         ....

        }
Tuesday, February 17, 2009 2:40:38 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Wednesday, October 15, 2008

MS 终于发布了Silverlight 2的正式版, http://silverlight.net 从和 Silverlight 1 比较中看, Silverlight 2 增加了诸多新特性:

Support for Visual Basic.NET and C#; Common Language Runtime (CLR) based languages  
Support for IronPython, IronRuby, Managed JScript, and other Dynamic Language Runtime (DLR) based languages  
Rich Core Framework (e.g. Generics,  collections)  
MultiThreading  
Layout controls including StackPanel and Grid  
Full suite of Controls (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, TabControl, and others)  
Managed Control Framework  
Templating Model  
Visual State Manager  
Isolated Storage  
Deep Zoom Technology  
Media – DRM Powered by PlayReady  
Media  Windows Media Audio 10 Professional support  
Media  MediaStreamSource for managed code media file parser and protocol extensibility  
High quality resizing  
Media  Basic SSPL Support  
Cross Domain Network Access  
Easy access to serverside data via Web Services  
Direct access to TCP sockets  
Interoperability with SOAP and REST services, including support for XML, JSON, RSS and Atom data formats  
LINQ (including LINQ to XML, LINQ to JSON, and LINQ to Entities)  
Duplex communications (“push” from Server to Silverlight client)  
Data Binding  
ADO.NET Data Services  
Managed HTML Bridge  
Managed Exception Handling  
.NET Framework Security Enforcement  
Type Safety Verification  
XMLReader/Writer  
Enhanced Keyboard Input Support  
File Upload Support (via WebClient API)  
WPF Compatibility
Accessibility  
Localization  
Remote Debugging (PC and Mac)

Wednesday, October 15, 2008 9:50:17 AM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Thursday, October 09, 2008

jQuery (http://jquery.com/) 是一个轻量级javascript library, 它能方便的和html进行交互。 使javascript 的语句更加简洁。

比如: 点击一个id=div2 的div可以这样写:

            $("#div2").click(function(event)
            {
                $(this).hide("slow");
            });
jQuery还有用于UI效果的 jQuery UI 库。 用它可以制作各种界面功能和效果。 
另外值得一提的是: Microsoft 已经开始支持jQuery, 并会将其整合到visual studio 中。
Thursday, October 09, 2008 3:20:09 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, September 14, 2008

中秋节在家休息看了一些开源项目:

.NET 开源

YetAnotherForum http://forum.yetanotherforum.net/ 我觉得是目前最好的开源论坛了,但功能较简单, 无法和动网bbs比。
Entlib forum (中文汉化的YAF) http://www.entlib.com/

Cuyahoga CMS http://www.cuyahoga-project.org/ 整体结构比较简单的CMS, 但无法生成静态html
tantCMS http://www.codeplex.com/tantCMS 国内的开源CMS,基于asp.net 3.5, 但完成度较低,界面比较粗糙。
Rainbow Portal http://rainbowportal.net/ 可建大型门户。 模块化扩展管理。 但是本人觉得版本比较乱, 同时如果真要建门户, 现在用sharepoint 肯定更强。

PHP 开源

DeDeCMS 织梦内容管理系统 http://www.dedecms.com/ 中文php CMS, 功能比较完整,本人觉得用下来不错.
PHPWind 中文论坛系统 http://www.phpwind.net
ShopEx 目前国内较好的网上商店商城系统 http://www.shopex.cn/

 

Sunday, September 14, 2008 5:49:50 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   |