摘要:
在《[设计篇]》篇中我们通过对View引擎的总体介绍讲述了从ViewResult的创建到View呈现的原理,为了让读者对View引擎及其View呈现机制具有一个深刻的认识,我们自定义一个简单的用于呈现静态HTML的StaticFileViewEngine。在一个通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中,我们定义了如下一个针对于静态HTML内容呈现的自定义StaticFileView。StaticFileView实现了IView接口,在实现的Render方法中读取制定文件的内容写入作为参数的TextWriter。 [本文已经同步到《How ASP.NET
阅读全文
posted @ 2012-08-23 10:44
HackerVirus
阅读(203)
推荐(0)
摘要:
这几天园子里面讨论ORM性能的比较火,甚至有点火药味。都说自己的ORM好,性能高,当然自己用得最顺手的是最好的,咱们也追求没有最好,只有更好。正好,Newlife群主自己有一个500M的sqlite数据库,以前好多人对Newlife.Xcode的性能都有顾虑,那实测下Xcode实际性能:1.550M的Sqlite数据库,大约580万实际项目的DNS数据2.Newlife.Xcode不需要自己动手实现接口就支持目前主流的数据库。【MSSQL,Mysql,Oracel,Access,Sqlite,PostgreSQL,Firebird】3.Xcode的其他特点,比如数据库反向工程之类就不说了,看看
阅读全文
posted @ 2012-08-22 22:08
HackerVirus
阅读(325)
推荐(1)
摘要:
在前面的四篇文章中,我们介绍了各种ActionResult以及相关的请求响应机制,但是与“View的呈现”相关的ActionResult是ViewResult。通过ViewResult的执行实现的对View的呈现比上面我们介绍的各种ActionResult要复杂得多,ASP.NET MVC内部设计了一个扩展的View引擎实现了最终的View呈现工作。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、View引擎中的View二、ViewEngine三、ViewResult的执行一、View引擎中的ViewASP.NET MVC为我们提供了两种View引擎,它们针对不同的
阅读全文
posted @ 2012-08-22 13:48
HackerVirus
阅读(187)
推荐(0)
摘要:
虽然缓存的最终目的为了提高性能,但缓存写的技术与缓存读的技术有很大的不同。但如果它带来的数据丢失危险很大,那么,就是一个不可接受的方案。因此,安全地将数据保存在非易失存储中是很重要的,因为这样数据就可以长期地保存。虽然读缓存技术用于读操作时可以提高系统性能,但当用于新产生数据的写操作时,却产生了一些有趣的问题。目前,用于缓存实现的大部分存储器都是易失型存储器,因此,当断电的时候,所有缓存的数据都将丢失。为了避免这个问题,一种专为缓存而特别设计的存储器已经面世,这种特制的存储器内嵌后备电池,经常用于磁盘子系统,以保证在某一指定时间内供电和数据存储。其他类型的非易失内存也已经生产出来,如闪存,但由
阅读全文
posted @ 2012-08-22 13:46
HackerVirus
阅读(311)
推荐(0)
摘要:
面向对象—在线文件管理模块2012-08-21 21:42 by xiangxiong, 527 阅读,3评论,收藏,编辑在园子里看到好多关于在线文件管理系统的文章和源代码,大家实际上达到的目的其实多大同小异,但是采用的实现的方式大有不同。本人刚好在项目中应用到在线文件管理模块,如实自己开始写了一个Demo,当然也参考了网上高人写的代码,下面介绍我对这个模块实现的思路和实现。实现思路介绍:文件对象 FileSystemItem.cs文件操作管理类 FileSystemManager.cs界面 Demo.aspxJs jqModal.js弹出窗口文件对象此类对文件对象的属性进行封装。usingS
阅读全文
posted @ 2012-08-22 09:23
HackerVirus
阅读(308)
推荐(0)
摘要:
从信息系统界面设计引发的思考 经常看我帖子的朋友的大多对下图的界面比较熟悉:登录后的页面:点击菜单的页面:具体的功能页面: 这种信息系统界面的实现,客观的看应该无论从美观,交互,技术上来说都应该说是比较不错的。这套界面用了大概1年多,做了大概5个项目,来看看各方的反馈:在园子里得到大家的肯定;我们技术团队对此表示兴奋;我自己窃以为不错;销售团队表示太前卫,希望有传统的界面(所以我们还有一套经典模式,大家也都熟知了);接下来重点是客户的普遍反应:1.没有对此界面模式觉得太惊喜,反应平淡2.对此界面需要用Chrome这些新一代浏览器运行颇有微词3.感觉不像信息系统的界面,觉得还需要点左下角的菜..
阅读全文
posted @ 2012-08-21 22:10
HackerVirus
阅读(324)
推荐(0)
摘要:
前面两篇文章提到了Google和Microsoft的面试体验,可惜都没有 offer,接下来说说有 offer 的。考虑到我已经在 Google 和 Microsoft 的招聘流程当中了,于是我也让 Yahoo 的同学帮我内部推荐一下,试试 Yahoo 的面试如何。本来没想着很正经地面,不过最后拿到了 offer,所以才有了我之前那篇文章所说的「越是放松越能成功」。Yahoo 一开始并没有什么 HR 沟通和预约,某一天我从百度下班回家正准备做饭就接到面试官电话。我开头以为他想要跟我约时间,结果他问我是否方便进行面试。我当时毫无准备不是很想面试,不过既然室友可以做饭那面试一下也没什么所谓。Yah
阅读全文
posted @ 2012-08-21 16:25
HackerVirus
阅读(166)
推荐(0)
摘要:
磁盘缓存所带来的性能增长变化很大,它跟几个不同的因素有关。然而,在有些情况下,如果仅考虑处理一个应用的总时间,磁盘缓存能带来令人惊讶的性能改善。缓存产品的销售商总是喜欢向顾客展示:使用它们的缓存产品运行应用时,客户只需花费25%或更少的时间即可完成。虽然对缓存不应抱有那么高的期望,但如果很好地配置缓存,进程运行速度达到原来的两倍并不是不可能的。磁盘缓存建立在几种不同的算法上,这些算法取决于I / O操作是读还是写。缓存的实现不像在气体容器中倒入一瓶辛烷助推器,而获得辅助加速。事实上,磁盘缓存并不是使设备的运行速度更快,而是尽量缩短I / O路径的距离,尽可能地用内存的性能代替设备的性能。为了获
阅读全文
posted @ 2012-08-21 16:21
HackerVirus
阅读(270)
推荐(0)
摘要:
在项目开发中,往往会碰到一些非常规的需求,每次碰到这种情况,都需要花费时间来整理自己的思路,然后参考网络上其他人的实现方式或者作法,有时候可以找到一些相同的模块进行改进即可符合需求,但往往很多是需要自己潜心研究,然后提炼优化,虽然探索过程还是比较开心,不过时间肯定是需要花不少的。我每次碰到这种情况,都会沉下心来,力求把这种的模块做得更好一点,方便以后的重用,这样每次抱着这样的态度,着实积累了不少好的东西,也可以为后面的项目夯实基础。在一次Winform的项目开发过程中,客户需要对一些体检数据等参数进行曲线展示,其实图表控件有很多,但是我印象比较深的还是开源的ZedGraph控件,这个既可以用在
阅读全文
posted @ 2012-08-21 16:20
HackerVirus
阅读(483)
推荐(0)
摘要:
在业务系统的操作过程中,有时候,用户需要切换用户进行重新登录,这种情况有时候是因为一个人管理多个用户账号,希望通过不同的账号登录进行管理不同的资料,另一种情况是酒店的换班操作,另一个人接替前面的人进行系统维护管理。这种重新登录其实也是一种友好的操作之一,试想一下,换个账号登录,就需要推出系统,重新寻找运行程序才可以,而且如果系统启动较慢一点的,还需要等待,所以实现重新登录,有时候也是必要的。因此实现这个功能,也是体现我们开发的系统注重细节的表现。另外,自动登录(其实是接受通过命令行参数进行登录)也是很常见的,有时候,让客户端记住用户的账号密码,我们在后台通过调动命令行方式进行登录,让系统程序接
阅读全文
posted @ 2012-08-21 16:11
HackerVirus
阅读(297)
推荐(0)