转载:如何提高ASP.NET性能
摘要:如果您在ASP.NET中编写的代码,那么你需要通过以下几点,以确保良好的性能:你是否使用缓存吗?你是否使用会话状态?你使用的应用程序状态吗?你使用线程和同步功能?你资源的有效管理呢?你有效地管理字符串?你有效地管理例外?有你优化你的网页?你使用视图状态?你使用服务器控件吗?你从你的页面访问数据吗?你可以使用数据绑定吗?你从ASPX页面调用非托管代码?你有没有审查Machine.config中的设置吗?您使用缓存吗?使用下面的复习题,以评估您的代码使用ASP.NET缓存功能:你有太多的变化输出缓存吗?检查您的网页,使用输出缓存,以确保数量变化有限制。输出缓存页面太多的变化可以导致内存使用量的增加
阅读全文
asp.net Ajax 之一:ScriptManager
摘要:Asp.net 自带的Ajax Extensions中得ScriptManage和 UpdatePanel可以一起实现局部刷新,提高速度和节省网络流量注意的是:1 页面只可以有一个ScriptManage控件,最好放在头部,放在UpdatePanel之前HTML上代码View Code <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <br /> <asp:UpdatePanel ID=
阅读全文
Asp.net程序调优之一
摘要:大型动态应用系统又可分为几个子系统:Web前端系统负载均衡系统数据库集群系统缓存系统分布式存储系统分布式服务器管理系统代码分发系统1 解决方法:1 解决第一个问题 服务器解析aspx时间过长下面我们就来看看服务端一般可能出现的性能瓶颈: 内存不足 缺乏缓存 CPU压力 处理请求线程问题2 部署优化2.1 Release方式编译项目 如果我们的项目是用Project的方式建立的,也就是说:我们的站点包含在一个Solution解决方案中,那么在发布之前,编译项目的时候,采用release方式,这种方式会减少CPU的使用率。因为采用debug的方式发布,编译器会编译后的代码中加入很多的信息,如调试信
阅读全文
Web前端技术(摘抄)
摘要:XHTML:主要指DIV+CSS,技术要求:精通。JavaScript:主要指纯js编程或者jquery等框架,推荐考虑jquery框架,技术要求:擅长。XML:主要xml规则、格式、使用常识及XSLT(一种格式化xml的语言,可以把xml转化成html或者其他文本语言,可以简单理解为xml的css),技术要求:了解。DOM:主要指DOM结构及如何使用,技术要求:熟悉。PhotoShop:主要指学会ps中的切图工具的使用,用于将美工的页面效果图转化成html或者aspx页面,技术要求:了解。SEO:网站开发人员专属,主要是了解基本常识,页面制作中需要考虑给后来的seo专员以施展空间,技术要求:
阅读全文
vs2008中ASP.net调试
摘要:1 如果解决方案中只有一个网站,比较简单,可以执行F5进行调试2 如果解决方案中不只一个网站,F5时会重新编译运行,比较慢。可以使用附加到进程的办法调试->附加到进程如果使用Visul studio 自带的开发服务器,选择:WebDev.WebServer.exe (如果有多想,注意选择对应端口)如果使用IIS服务器,选择w3wp.exe3 如果使用IIS服务器,需要在项目属性->web中配置 选择IIS服务器前提是必须在iis中建一个虚拟目录或者网站,映射到该项目目录。同时保证网站的目录和 项目##.csproj 中一致<WebProjectProperties>&l
阅读全文
ASP.net之HttpModel 和httpHandle 之二
摘要:ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHandler,HttpHandler处理完之后,仍经过Pipeline中各个HttpModule的处理,最后将HTML发送到客户端浏览 器中。生命周期中涉及到几个非常重要的对象:HttpHandler,HttpModule,IHttpHandlerFactory,他们的执行(顺序)大致的执行过程是这样的:client端发送页面请求,被IIS的某个进程截获,它根据申请的页 面后缀(.aspx)不同,调用不同的页面处理程序(.asp->asp.dll;
阅读全文
ASP.net之HttpModel 和httpHandle 之一
摘要:HttpModule是向实现类提供模块初始化和处置事件。当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作一些额外的工作,或者在某些情况下干脆终止满足一些条件的HTTP请求,从而可以起到一个Filter过滤器的作用。1、asp.net的HTTP请求处理过程说明: (1)、客
阅读全文
Asp.net之Container.DataItem 解析(转载)
摘要:灵活的运用数据绑定操作 绑定到简单属性:<%#UserName%> 绑定到集合:<asp:ListBox id="ListBox1" datasource='<%# myArray%>' runat="server"> 绑定到表达式:<%#(class1.property1.ToString() + "," + class1.property2.ToString())%> 绑定到方法返回值:<%# GetSafestring(str) %> 绑定到Hashta
阅读全文
asp.net 之相似的概念
摘要:1 Execute 和 Transfer2 HtmlEncode /HtmlDecode 和 UrlEncode/UrlDecode
阅读全文
asp.net 之防止sql注入攻击
摘要:1 编写防止sql注入攻击的类View Code /// <summary> /// 验证请求 /// </summary> /// <param name="request"></param> /// <returns></returns> public static Boolean ValidUrlData(string request) { Boolean result = false; if (request == "POST") { ...
阅读全文
Asp.net:生成验证码
摘要:1 添加一般处理程序 ashx<%@ WebHandler Language="C#" Class="Handler" %>using System;using System.Drawing;using System.Drawing.Imaging;using System.Text;using System.Web;using System.Web.SessionState;public class Handler : IHttpHandler, IRequiresSessionState { public void ProcessRequ
阅读全文
Asp.net:Form
摘要:1 简单处理<form action="Handler1.ashx" method="post" ><p>客户名称: <input type="text" name="CustomerName" style="width: 300px" /></p><p>客户电话: <input type="text" name="CustomerTel" style="width: 300px&
阅读全文
ASP.net: cookie
摘要:1 cookie 使用写入cookieHttpCookie cookie = new HttpCookie("MyCookieName", "string value");Response.Cookies.Add(cookie);读取 cookieHttpCookie cookie = Request.Cookies["MyCookieName"];if( cookie != null ) labCookie1.Text = cookie.Value;else labCookie1.Text = "未定义";删除H
阅读全文
ASP.NET之:URL重写(转载)
摘要:public class UrlRouteModule : IHttpModule { private static string URL_FLAG = "/q/"; //Url中区别路径和参数的分隔符 private static string URL_SUFFIX = ".aspx"; //对哪种后缀的Url实施Rewrite public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(context_BeginRequest); } pri
阅读全文
ASP.NET之:序列化
摘要:1 什么事序列化?为什么需要序列化有两个最重要的原因促使对序列化的使用:一个原因是将对象的状态保持在存储媒体中,以便可以在以后重新创建精确的副本;另一个原因是通过值将对象从一个应用程序域发送到另一个应用程序域中。 序列化的是对象的状态 也就是对象数据成员的值和方法是没有关系的 跨应用程序域通信时,以及用WEB服务时 要用到序列化2 .1 序列化的方式一:BinaryFormatter序列化序列化简单点来理解就是把内存的东西写到硬盘中,当然也可以写到内存中(这个内容我会在后面写一个例子).而反序列化就是从硬盘中把信息读到内存中.就这么简单,呵呵,现在来看下面的例子吧!在这篇文章中我将使用Bina
阅读全文