09 2013 档案
摘要:1. 如没必要,尽量使用静态HTML页面。 动态页面必须先由服务器执行处理或查询数据库后,生成HTML页面,然后再“送”往客户端浏览,这就不得不耗费一定的服务器资源,如果在并发较大的网站过多使用这类程序,则网页显示速度肯定会慢。 其实效率最高、消耗最小的还是纯静态化的HTML页面;除门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能地静态化也是提高性能的必要手段。同时,HTML静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用HTML静态化来实现,这样避免了大量的数据库访问请求。2. 避免不必要的回送操作。 Page_Load
阅读全文
摘要:Anehta中采用了一种同机识别的技术,我在项目中将其称为“水印”(Watermark).看过我的录像演示的人应该有印象,效果如下:如果一个客户端被打上了水印,那么,不管客户端删除了cookie、缓存,抑或是切换了各种不同的浏览器,其水印都不会变化。换句话来说,就是常规的清除上网痕迹的措施,都无法清除掉anehta给客户端打上的水印。这看起来好像跟变魔术一样,其实揭穿了很简单,我是通过Flash的shared objects来做的,也可以称作flash cookie。其实这种技术在比较早的时候foundstone的paper中就提到过了,同时还有提到的是一个IE persistence Dat
阅读全文
摘要:第一步:在Web界面上添加一个LinkButton,并把它隐藏起来,这里的隐藏不是把Visibe设为false,而是把LinkButton的Text设为空。第二步:覆写父类方法using System.Reflection; protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.IsPostBack) { if ((Request.Form["__EVENTTARGET"] != null) && (Request.Form["__EVENTTARGET&quo
阅读全文
摘要:1. 减少HTTP请求数。 (1) 合并JS文件和CSS文件。 (2) 合并框架图片及相对变动较少的图片或成一张,通过CSS背景切割来完成渲染。 (3) 合理使用本地Cache来缓存JS/CSS/IMAGE。2. 减小被请求文件的大小,减少请求数据占用的网络带宽。 (1) 压缩JS体积:删除JS中空白换行、注释、混淆,把长变量换成短变量。 (2) 压缩CSS体积:删除CSS注释、写法尽量用简写。 (3) 使用(X)HTML+CSS方式搭建网站结构,提供CSS重用性,来减少(X)HTML文件大小。 (4) 使用服务器端GZIP压缩JS/CSS文件,缩小传输文件大小。3. 通过版本化控制客户端缓存
阅读全文
摘要:信息安全技术按照其所在的信息系统层次可分为物理安全技术、基础架构安全(网络、主机和终端)、应用安全技术、数据安全技术、身份和访问管理五大种类。物理安全1. 机房物理安全 1.1 物理环境的防护1.2 计算机机房的场地安全 1.3 操作室的场地安全2. 视频监控安全 2.1 公众安全 2.2 机场/海港/铁路 2.3 零售店 2.4 金融机构3. 机房物理安全的工作及应用 3.1 市政管理监控 3.2 交通管理监控 3.3 公共场所监控 3.4 人流统计 3.5 重要部门监控 3.6 高危设施的监控基础架构安全1. 网络及边界安全 1.1 网络架构安全1.2 网络安全技术 1.3 网络/安全设备
阅读全文
摘要:1. Foreach比for语句具有更好的执行效率2. 避免使用ArrayList 因为任何对象添加到ArrayList都要封装为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型。建议使用自定的集合类型代替ArrayList。.NET 2.0提供了一个新的类型,叫泛型,这是一个强类型,使用泛型集合就可以避免装箱和拆箱的发生,提高性能。3. 使用HashTable代替其他字典集合类型(如StringDictionary、NameValueCollection、HybridCollection),存放少量数据的时候可以使用HashTable。4. 为字符串容器声明
阅读全文
摘要:文件:WebService.asmx using System; using System.Web.Services; using System.Web.Script.Services;[ScriptService]//允许Ajax调用此WebService public class ServerTime : WebService { [ScriptMethod(ResponseFormat = ResponseFormat.Xml, UseHttpGet = false, XmlSerializeString = true)] [WebMethod] public string Get...
阅读全文
摘要:SoapHeader身份认证 访问IP认证 SSL安全访问一、SoapHeader 1.定义SoapHeader派生类 public class MySoapHeader : System.Web.Services.Protocols.SoapHeader { private string _UserID = string.Empty; private string _PassWord = string.Empty; public MySoapHeader() { } public MySoapHeader(string nUserID,string nPassWord) { ...
阅读全文
摘要:如需运行分布式事务,需启动Distributed Transaction Coordinator服务,如启动该服务报错,输入CMD命令msdtc -resetlog即可。T-SQL:Create Table TranTable( Id INT IDENTITY(1,1) PRIMARY KEY, Priority TINYINT--最大值255)C#:string sql1 = "INSERT INTO TranTable VALUES(1)";//正常插入string sql2 = "INSERT INTO TranTable VALUES(256)"
阅读全文
摘要:转载至:http://www.cnblogs.com/ltp/archive/2005/12/02/289634.html一、前言:在经过一段时间的存储过程开发之后,写下了一些开发时候的小结和经验与大家共享,希望对大家有益,主要是针对Sybase和SQL Server数据库,但其它数据库应该有一些共性。二、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。三、介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统
阅读全文
摘要:1. 用OracleConnection连接Oracle 首先添加OracleClient的引用,如下图。(1)加入命名空间:using System.Data.OracleClient;(2)连接数据库:string conStr = "Data Source=codematic;User ID=codeuser;Password=user123";OracleConnection con = new OracleConnetion(conStr);con.Open();2. 用MySqlConnection连接MySQL 在.NET中连接MySQL数据库有两种方法:My
阅读全文
摘要:原因: 改动global.asax、Web.config、bin目录里的东西,导致Web Application重启。 有些杀病毒软件会去扫描你的Web.config文件,也会导致Session丢失。 服务器内存不足导致Session丢失。 程序内部有让Session丢失的代码。 程序有框架页面和跨域情况。解决: 修改Web.config中的timeout的时效时间。 建议让网站使用独立的应用程序池。 IIS设置Session超时时间:网站属性-“主目录”-“配置”-“应用程序配置”-“选项“,重新设置会话超时时间,默认为20分钟。 在应用程序池上打开网站对应的应用程序池属性,将Web数量修改
阅读全文
摘要:Session模型简介Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。 这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,
阅读全文
摘要:在我们的程序中经常会出现以下代码。 成员变量:public string Name; 类属性:public class People { private string name; public string Name { set { name = value; } get { return name; } } }像上面这样的代码到底两者有什么不一样呢?对其他对象来说,这两者都是同样...
阅读全文
摘要:1. sealed——“断子绝孙” 密封类不能被继承。密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed修饰符必须始终与override一起使用。 即:密封类不会有子类,所以是“断子绝孙”。2. new——“你是我的,我是我的” new关键字用于显式隐藏从基类继承的成员。也就是在使用派生类时调用的方式方法是new关键字新定义出来的方法,而不是基类的方法。 在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告。使用new显式隐藏成员会取消此警告,并使用派生类新定义的方法。 即:好比是不用祖宗的东西,而是用自己创造(new)的东西。3. v
阅读全文
摘要:readonly修饰符用来表示只读,const用来表示不变常量。顾名思义,只读表示不能进行写操作;不变常量不能被修改。这两者到底有什么区别呢?(1) readonly和const都是用来标示常量的。(2) 初始化赋值不同。const修饰的常量必须在声明的同时赋值。例如:public class Class1{ public const int MaxValue = 10; //正确声明 public const MInValue; //错误:常量字段要求提供一个值 public Class1() { Min...
阅读全文
摘要:1.对于值类型 如果对象的值相等,则相等运算符==返回True,否则返回False。2.对于引用类型 ==操作符比较的是两个变量的值是否相等,或两个引用是不是指向同一个内存地址。 equals()方法比较的是两个对象指向的内存空间里的内容是不是相同。equals也就是比较两个“引用类型”是否是对同一个对象的引用。即两个对象的内容是否相等。趣味理解:对于引用类型,==操作符类似于比较的是文件夹的路径是否相同,而equals()方法比较的是文件夹中的内容是不是一样。值类型是存储在内存中的堆栈,而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否
阅读全文
摘要:Web Application模型的优点如下: 网站编译速度快。 生成的程序集如下: Web Site生成随机的程序集名,需要通过插件Web Deployment才可以生成单一程序集。 Web Application可指定网站项目生成单一程序集,因为是独立的程序集,所以和其他项目一样可以指定应用程序集的名字、版本、输出位置等信息。 可以将网站拆分成多个项目以方便管理。 可以从项目中和源代码管理中排除一个文件。 支持VSTS的Team Build方便每日构建。 更强大的代码检查功能,并且检查策略受源代码控制。 可以直接升级使用原来用VS 2003构建的大型系统。Web Site模型的优点如下:
阅读全文
浙公网安备 33010602011771号