bandrui

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  C#

Winform ASP.NET
摘要:Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。下面让我们详细看一下如何在应用程序开发工作中使用这个文件。概述Global.asax 位于应用程序根目录下。虽然 Visual Studio .NET 会自动插入这个文件到所有的 ASP.NET 项目中,但是它实际上是一个可选文件。删除它不会出问题——当然是在你没有使用它的情况下。.asax 文件扩展名指出它是一个应用程序文件,而不是一个使用 aspx 的 ASP.NET 文件。Global.asax 文件被配置 阅读全文
posted @ 2011-04-08 15:01 bandrui 阅读(156) 评论(0) 推荐(0)

摘要:public class ColumnTemplate : ITemplate { string columnName = "/"; public ColumnTemplate(string colname) { columnName = colname; } public void InstantiateIn(Control container) //关键是这个方法 { LiteralControl l = new LiteralControl(); l.ID = "topicname"; l.Text = columnName; l.DataBind 阅读全文
posted @ 2011-04-08 14:52 bandrui 阅读(187) 评论(0) 推荐(0)

摘要:假如要在一个线程中异步执行一个方法,则先创建一个该方法的委托类型,然后CLR会自动为该委托类型定义一个BeginInvoke方法和EndInvoke方法,我们就靠这两个方法异步调用委托类型指向的方法(这句话有点绕口,呵呵)BeginInvoke这个方法用于启动异步调用,该方法具有和要异步执行的方法具有相同的参数列表,只不过又多加了两个参数,多加的那两个参数的作用在后面介绍。执行BeginInvoke方法后,将立即返回一个IAsyncResult,用于监视被调用方法执行的进度。EndInvoke这个方法用于得到异步调用的结果,调用BeginInvoke方法后随时可以调用EndInvoke方法,假 阅读全文
posted @ 2011-04-08 13:21 bandrui 阅读(1037) 评论(0) 推荐(0)

摘要:目 录1. 简介 32. 适用范围 33. 文体 34. 代码组织与风格 34.1. Tab 34.2. 缩进 44.3. 空行 44.4. 函数长度 44.5. {”,“}” 44.6. 行宽 44.7. 空格 45. 注释 55.1. 注释的基本约定 55.2. 注释类型 55.2.1. 块注释 55.2.2. 行注释 55.2.3. 尾随注释 55.3. 注释哪些部分 65.4. 程序修改注释 76. 命名 76.1. 命名的基本约定 76.2. 各种标示符类型的命名约定 96.2.1. 程序集命名 96.2.2. 命名空间命名 96.2.3. 类和接口命名 96.2.4. 方法命名 9 阅读全文
posted @ 2011-04-08 10:50 bandrui 阅读(192) 评论(0) 推荐(0)

摘要:C#编码规范 为了以后软件更加容易维护,还是有必要建立一套编码规范。发现这件事情早就有人在讨论和研究了:http://www.cnblogs.com/iouniuniu/archive/2004/03/19/3572.aspxhttp://blogs.msdn.com/ericgu/archive/2004/01/19/60315.aspx现在先对他们讨论的内容整理一下:发现有以下几个模板:1.MicrosoftMicrosoft公司关于编程风格的建议:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgen. 阅读全文
posted @ 2011-04-08 10:43 bandrui

摘要:我们首先添加一个目录XML。然后添加View:1.checkXml.aspx 用来检查我们输入的XML格式(利用XSD检查)2.New.aspx 用来新增XML表单的3.Show.aspx 用来显示XML表单的4.ShowResult.aspx 用来显示XML表单提交的结果的一、数据库结构要用到动态的表单,这里我们利用Sqlserver2005的XML类型来保存,建表的SQL如下:use Test/*==============================================================*//* DBMS name: Microsoft SQL Server 阅读全文
posted @ 2011-03-28 15:28 bandrui 阅读(491) 评论(0) 推荐(0)

摘要:Server.UrlEncode、HttpUtility.UrlDecode不同编码 同样的Server.UrlEncode在不同页面居然编码后的字符不同,后来查了查原来..在对URL进行编码时,该用哪一个?这两都使用上有什么区别吗?测试:string file="文件上(传)篇.doc";string Server_UrlEncode=Server.UrlEncode(file);string Server_UrlDecode=Server.UrlDecode(Server_UrlEncode);string HttpUtility_UrlEncode=System.We 阅读全文
posted @ 2011-03-28 10:02 bandrui 阅读(280) 评论(0) 推荐(0)

摘要:十招教你提高ASP.NET页面载入速度本文是我对ASP.NET页面载入速度提高的一些做法,这些做法分为以下部分: 1.采用 HTTP Module 控制页面的生命周期。 2.自定义Response.Filter得到输出流stream生成动态页面的静态内容(磁盘缓存)。 3.页面GZIP压缩。 4.OutputCache 编程方式输出页面缓存。 5.删除页面空白字符串。(类似Google) 6.完全删除ViewState。 7.删除服务器控件生成的垃圾NamingContainer。 8.使用计划任务按时生成页面。(本文不包含该做法的实现) 9.JS,CSS压缩、合并、缓存,图片缓存。(限于文章 阅读全文
posted @ 2011-03-18 22:24 bandrui 阅读(662) 评论(2) 推荐(0)

摘要:下载第三方转换软件:wkhtmltopdf-0.8.3.exe 调用函数: 1 /// <summary> 2 /// HTML生成PDF 3 /// </summary> 4 /// <param name="url">地址</param> 5 /// <param name="path">PDF存放路径</param> 6 public static bool HtmlToPdf(string url, string path) 7 { 8 try 9 {10 if (strin 阅读全文
posted @ 2011-03-18 14:15 bandrui 阅读(478) 评论(0) 推荐(0)

摘要:HttpApplication是个类。他的用途是定义 ASP.NET 应用程序中的所有应用程序对象通用的方法、属性和事件。此类是由用户在 global.asax 文件中定义的应用程序的基类。HttpApplicationState也是个类。用途 是启用 ASP.NET 应用程序中多个会话和请求之间的全局信息共享。HttpApplicationState 类的单个实例在客户端第一次从某个特定的 ASP.NET 应用程序虚拟目录中请求任何 URL 资源时创建。对于 Web 服务器上的每个 ASP.NET 应用程序都要创建一个单独的实例。然后通过内部 Application 对象公开对每个实例的引用 阅读全文
posted @ 2011-03-15 10:52 bandrui 阅读(1338) 评论(0) 推荐(2)

摘要:1.先后次序.先IHttpModule,后IHttpHandler.2.对请求的处理上: IHttpModule是属于大小通吃类型,无论客户端请求的是什么文件,都会调用到它;例如aspx,rar,html的请求. IHttpHandler则属于挑食类型,只有ASP.net注册过的文件类型(例如aspx,asmx等等)才会轮到调用它.3.IHttpHandler按照你的请求生成响应的内容,IHttpModule对请求进行预处理,如验证、修改、过滤等等,同时也可以对响应进行处理IHttpHandler接口中最重要的方法ProcessRequest,这个方法就是HttpHandler用来处理一个Ht 阅读全文
posted @ 2011-03-15 10:36 bandrui 阅读(456) 评论(0) 推荐(0)

摘要:能和我一样,很多Asp.Net开发人员都有过Asp的背景,以至于我们在开发程序的时候,通常都是在“页面级”上思考,也就是说我们现在正在做的这个页面应该有什么样的功能,是进行一个问卷调查还是一个数据库查询等等。而很少在“请求级”思考,考虑有没有办法来通过编码的方式来操控一个Http请求。实际上,Framework提供了一系列的接口和类,允许你对于Http请求进行编程,而实现这一操作的一个主要的接口,就是 IHttpHandler(另一个是IHttpModule)。应该还记得第一节中我们提到过 ISAPI,它根据文件名后缀把不同的请求转交给不同的处理程序。但是仔细看看就会发现:几乎一大半的文件都交 阅读全文
posted @ 2011-03-15 10:31 bandrui 阅读(242) 评论(0) 推荐(0)

摘要:HTTP运行期HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。HTTP运行期首先创建一个HttpContext对象的实例,它包含了当前正在处理的请求信息,接着创建在处理逻辑中涉及到的所有其他组件都可以使用的上下文对象。HttpContext实例提供了对请求对象(HttpRequest类的实例)和响应对象(HttpResponse类的实例)的访问。 阅读全文
posted @ 2011-03-15 09:30 bandrui

摘要:这是MSDN对HttpContext的说明: HttpContext 类:封装有关个别 HTTP 请求的所有 HTTP 特定的信息。 (网上说是上下文信息,啥又叫上下文呢?个人感觉说的不清不楚) 这是MSDN对它的备注: 为继承IHttpModule和IHttpHandler接口的类提供了对当前 HTTP 请求的HttpContext对象的引用。该对象提供对请求的内部Request、Response和Server属性的访问。 大家可以点击这个链接查看MSDNHttpContext 类.包括说明和如何使用.于是,上网狂搜(有网络就是好啊.) 这是我补充的HttpContext 类: 1.生存周期 阅读全文
posted @ 2011-03-14 21:11 bandrui 阅读(7007) 评论(1) 推荐(3)

摘要:首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。根据上面的解释,很容易想出相应的scenario。 而用synchronized的关键是建立一个monitor,这个monitor可以是要修改的variable也可以其他你认为合适的object比如method,然后通过给这个monitor加锁来实现线程安全,每个线程在获得这个 阅读全文
posted @ 2011-03-14 00:33 bandrui 阅读(8543) 评论(1) 推荐(2)