摘要:
Asp.net MVC是一个不错的框架,最近开发一直使用。可是最近发现一个问题:MVC初次加载时很慢,有时我在默念计时到6,页面才显示出来,感觉上就比asp.net WebForm慢。因为以前的程序都是WebForm开发的,两相对比,感觉很明显。不过这只限于第一次,后续访问感觉上又比WebForm快,我想这是MVC输出的HTML简洁的缘故。也许你会说,这不成问题,我自己充当第一个访问者就行了。可是问题在于公司的IIS服务器会定期回收应用程序池,一段时间后,又要经历第一次了。昨天花了点时间翻了一下MVC2的源代码,最后Trace到如下代码是性能瓶颈:位于WebFormViewEngine.cs中 阅读全文
随笔分类 - Asp.net
asp.net MVC中使用自定义HtmlForm控件动态生成表单
2011-05-17 17:14 by zhoujie, 5161 阅读, 收藏, 编辑
摘要:
经测试System.Web.UI.HtmlControls下的HtmlForm类,也就是我们在传统的asp.net中使用的Form表单对象,不适合动态生成Html代码。于是自定义了一个简单的HtmlForm容器控件,只需要几行代码。看来Asp.net在封装Html元素方面还是很有优势的,微软为我们定义了大量的基础结构,很容易扩展使用。public class myHtmlForm:HtmlContainerControl { public myHtmlForm() : base("form") { this.Attributes.Add("method" 阅读全文
DataSet测试数据的准备
2011-05-12 10:36 by zhoujie, 252 阅读, 收藏, 编辑
摘要:
void TestData(DataSet ds,int n) { if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count == 0) { DataTable dt = ds.Tables[0]; for (int j = 0; j < Math.Pow(10,n); j++) { DataRow dr = dt.NewRow(); foreach (DataColumn dc in dt.Columns) { if (dc.DataType == typeof(string)) { dr[dc] = dc.Column 阅读全文
请保持Asp.net MVC中View的可读性
2011-04-19 16:51 by zhoujie, 1838 阅读, 收藏, 编辑
摘要:
MVC中的View既可以写HTML代码,也可以写C#代码,代码的可读性一不小心就会变得很差。在下做过一个项目,后端数据库用XML保存用户提交的自定义数据,前端需要解析XML数据,然后输出我们的HTML展现给用户一个漂亮的界面。第一次做的时候没感觉可读性很差,因为XML的结构已经了然于胸,于是在View中加入了大量的For,if逻辑,很快就交差了,领导也很满意。没想到3个月以后,领导要求做一些改动,这下可傻眼了,当时写了些什么天书啊,当时的数据结构早已忘得一干二净。可想而知,自己又付出了多少劳动,浪费了多少脑细胞。对我来说像下面这种简单的数据邦定语法,还是可以接受的。 <p>< 阅读全文
Asp.net中网站级异常捕获
2011-04-16 11:53 by zhoujie, 2293 阅读, 收藏, 编辑
摘要:
最近在公司某管理系统中,用了一些独立的模块,在这些类的实现中,错误是直接抛出异常的,我想这是我们通常的做法。然而,问题也来了,由于自己在Asp.net页面中没有去捕获这些异常,并且多处页面中都使用了这些类,于是在多个页面都会出现不友好的错误提示信息。怎么办?又不想一处一处修改代码,既费时又费力,这样编程不就变成了体力劳动,从而失去了乐趣。 这时让我想起了自定义错误页,于是Google,终于找到了答案。1、配置web.config:<customErrorsmode="RemoteOnly"defaultRedirect="ErrorPage.aspx&quo 阅读全文
Jquery+Aspx实现Ajax得不到响应
2009-06-27 11:03 by zhoujie, 549 阅读, 收藏, 编辑
摘要:
今天用jquey的ajax,用aspx页的page_load中返回请求的结果,就是Respons.write("结果")。意外的发现客户端没有得到调用成功的信息,而是得到一个错误信息。无奈,将aspx页改为ashx页,将问题解决。 阅读全文
爱恨交加的asp.net服务器控件
2009-06-08 19:48 by zhoujie, 319 阅读, 收藏, 编辑
摘要:
服务器控件或者runat="server"的控件,给asp.net的处理提供了方便,其优点有:1、方便动态的控制控件的属性和事件处理,使我们好像在做桌面开发2、可以使用viewstate 来自动保持控件的值,避免在服务器往返,也就是刷新是,浏览器控件的值丢失。除此之外,我没有看到服务器控件的优点。在局域网应用中当然无所谓。对性能要求较低的场景中也无所谓,毕竟服务器控件能提高我们的开发效率。然而,对性能要求严格的应用来说,就有点不爽了。1、加载速度过慢,因为其中的viewstate的尺寸随着我们使用服务器控件的数量而增加2、在访问量大的时候,对cpu和内存就是一个考验了,服务 阅读全文
学习asp.net的好教材-YAF轻量级论坛
2009-06-07 11:07 by zhoujie, 697 阅读, 收藏, 编辑
摘要:
YAF yet another forum的缩写,一个开源的轻量级asp.net论坛,结构清晰,只有两个项目。功能却很完备,能胜任普通论坛的要求。建议学习1.9.1版,以后版本有变重的趋势,既然定位在轻量级,能让我们快速领会YAF之神。下载地址http://sourceforge.net/projects/yafdotnet/ 阅读全文
asp.net精华文章推荐
2009-05-31 17:41 by zhoujie, 263 阅读, 收藏, 编辑
摘要:
对于提高自己asp.net能力绝对有帮助的文章汇总一下备查:1、通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行2、ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline 3、《Building a Web 2.0 Portal with ASP.NET 3.5》作者 omar的blog 阅读全文
如何深入学习asp.net
2009-05-30 23:31 by zhoujie, 609 阅读, 收藏, 编辑
摘要:
如何学习asp.net?当然要从基础学起,这里介绍学习基础的CGI学习资料:《CGI技术全面接触》 http://www.du8.com/books/sep0tvt.html 该教程是对那些还不熟悉服务器/浏览器处理模型的同志看的,会对当今的流行的web技术有一个整体的认识,不过是用perl讲的啊!因为perl处理字符串的能力强啊。更加深入的学习,强烈推荐园子里已有的博客文章:Asp.net处理模型详解 ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI ASP.NET Process Model之二:ASP.NET Http Runtime Pipelin 阅读全文