展翅,只为SHOW

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

2014年3月16日

摘要: 问题随着您网站的成长,无论是普通的还是动态的内容,这两个因素导致网站载入变慢。许多用户造成了大量的web 服务器和数据库的请求。大量的数据需要强大的数据库处理能力来支持 它。为了防止花了很多钱,只需添加更多的Web服务器,更聪明的编程,以减少不必要的数据库或动态处理请求,可以明显增加你的web应用的整体速度解决方案使用OutputCacheAttribute去缓存那些不经常改变或只在具体action改变的数据。讨论在MVC3中缓存是非常容易的。简单的添加下边的attribute在一个controller的一个action上。双击代码全选1[OutputCache (Duration=600)] 阅读全文
posted @ 2014-03-16 16:41 展翅,只为SHOW 阅读(304) 评论(0) 推荐(0) 编辑

摘要: 问题当今如此对搜索引擎霸主的争夺战是如此激烈,像下边这样的网站地址很难在这场比赛中获胜:http://www.example.com/books/details?id=4使用路由,网站可以变成这样:http://www.example.com/20-recipes-for-mvc3无论是对用户还是搜索引擎,这将提供更多的语境。解决方案使用RouteCollectionExtensions 类下的MapRoute 函数去生成更友好的名字去展示内容而不是数字ID。讨论在MVC中可以通过Web.config和Global.asax.cs文件设置路由。在web.config中包含 System.Web 阅读全文
posted @ 2014-03-16 16:40 展翅,只为SHOW 阅读(289) 评论(0) 推荐(0) 编辑

摘要: 问题当你查找一些特殊的东西,当你输入准确的词时,找到它可能是困难的(或者很耗时)。在输入的时候展示出结果(自动完成),使查找变得更简单。解决方案使用JQuery自动完成插件,更新现有图书列表页面上的搜索,当用户键入的时候立即显示结果。讨论自动完成插件是不会象jQuery基本库一样自动包含在MVC项目中的,所以需要做的第一件事就是的是下载插件 访问http://jquery.com/。两个主要的文件是必需的:JavaScript文件和CSS文件。把新下载的javascript文件放到你MVC应用程序的script 文件夹下。CSS文件可以直接添加到您的content目录。这个配方也将介绍在vie 阅读全文
posted @ 2014-03-16 16:39 展翅,只为SHOW 阅读(343) 评论(0) 推荐(0) 编辑

摘要: 问题今天很多网站与数据库交互。如果您的网站接收大量的流量,SQL查询来检索数据,是相当激烈的。更重要的是因为普通用户点击一个在15秒内到达您的网站的链接, 检索和生成内容的工作可能是不必要的,尤其是当内容是“地域折叠”(不滚动是不可见的)。为了帮助解决这个问题,内容将被“按需”载入。足够的内容将被载入,使页面感觉起来是随用户向下滚动阅读递增的,更多的内容将在不影响用户体验的场景下填充。解决方案使用异步controller与jQuery按需加载内容,当用户开始通过网站的内容滚动时进一步加载内容。讨论异步controller可能在许多MVC应用中未充分利用。最有可能的是因为人们不知道他们,更重要的 阅读全文
posted @ 2014-03-16 16:38 展翅,只为SHOW 阅读(143) 评论(0) 推荐(0) 编辑

摘要: 问题默认情况下,你的网站在移动设备上展现的可能不太好。当然,有的移动设备足够让你的网站在它上显示。但是这也不是稳妥的。可能你不希望为移动电话创建一个全新的网站,成本太高。解决方案使用jQuery mobile NuGet包,改变共享的布局和视图,并使你的网站在传统的浏览器和大部分手机展现的都很好。讨论首先,如果你一直在阅读关于4 MVC的路线图,你会注意到很多讨论是围绕着移动的增强。特别的是,在这个例子中我们将使用jQuery mobile工具箱。不幸的是,如很多事情表明这将是MVC中的4中的内容,在这个告诉我们还为时过早。与其“等待”我们不如提供一个非常简单的解决方案,需要最小的努力来维护移 阅读全文
posted @ 2014-03-16 16:37 展翅,只为SHOW 阅读(175) 评论(0) 推荐(0) 编辑

摘要: 问题有种不太幸运的情况,有人用自动程序去提交表单,在整个互联网中造成大量的垃圾。为了防止这种情况的方法之一,是使用一个验证码---CAPTCHA:全自动区分计算机和人类的图灵测试,这迫使用户把生成的文字输入到文本框。(译者:CAPTCHA是一种更人性化的验证码,可以通过视觉和听觉来区分post的请求是人类还是计算机发出的)解决方案从NuGet安装ASP.NET Web Helpers Library 从而在BookCommentsController实现防止而已添加书评的功能。讨论需要安装一个新的类包,使在表单上应用CAPTCHA成为可能。微软已经创建了一个NuGet web helpers 阅读全文
posted @ 2014-03-16 16:36 展翅,只为SHOW 阅读(278) 评论(0) 推荐(0) 编辑

摘要: 问题你有一个网页,列出重要的信息明细,你要允许用户迅速、轻松提交一个表单,无需重新加载整个页面,失去自己在网站上的位置。解决方案使用AjaxHelper,创建一个新的Form,用新提交的内容自动更新现有的内容。讨论下边的例子把以前的秘方放在一起,向人们展示如何让用户提交一本书的评论,而不重定向到另一个页面去看那些评论以及自己提交的评论。首先,我们需要创建一个新的model,用于存储对书的评论。在model文件夹,右键->添加->class,命名为:BookComment.cs。这个模型将用于存储对书的评论。代码如下:双击代码全选123456789101112131415161718 阅读全文
posted @ 2014-03-16 16:34 展翅,只为SHOW 阅读(139) 评论(0) 推荐(0) 编辑

摘要: 问题当你点击链接时,整个的网页都被重新加载。尤其是你仅仅一小点内容需要被更新时,这将被感觉是一个很慢的过程。解决方案更新之前创建的HTML.ActionLink 去调用ajax 帮助类。Ajax.ActionLink 仅仅去重新加载那些发生变化的内容。讨论MVC提供了几个给力的帮助类。到目前为止,这本书中已经广泛的应用了HTML Helper。在过去创建的所有view中,HTML helper至少都使用过一次。在这个秘方中,我们将使用AjaxHelper类替换掉Book/Index中的HtmlHelper 类。实现Ajax需要一点额外的设置才可以使用。通常情况下我发现这个额外的工作,可以打消开 阅读全文
posted @ 2014-03-16 16:33 展翅,只为SHOW 阅读(208) 评论(0) 推荐(0) 编辑

摘要: 问题你允许用户上传一个图片,但是传统的来说,这个图片一般是从一个camera输出的,这个图片太大。所以你想展现一个简单的图片或者缩略图。在你的网站允许用户在他看到完整图片之前先预览缩略图(译者:这是一个很好的用户体验)。解决方案使用以下几个类去更新现有的文件上传功能去调整图片:FileStream, Image, Bitmap,和Graphics 类去指定宽度和高度。讨论在下面的例子,以前创建的FileUpload类将得到更新和重组。创建一个新的功能,称为ResizeImage执行调整图片大小。调整大小后的图像将被保存在以前的文件夹的子文件夹中,名为(thumbnail)缩略图。DeleteF 阅读全文
posted @ 2014-03-16 16:32 展翅,只为SHOW 阅读(355) 评论(0) 推荐(0) 编辑

摘要: 问题你希望允许用户在你的网站上传并保存文件。解决方案通过HttpPostedFileBase.实现上传文件和保存到磁盘。讨论在接下来的例子里,之前创建的去添加和更新图书的View将被更新成允许用户选择一个文件并且上传缩略图文件。作为开始,Book/Create view 应该被更新,改变From的编码类型并且为缩略图字段替换掉脚手架 textbox。代码如下:双击代码全选12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 阅读全文
posted @ 2014-03-16 16:31 展翅,只为SHOW 阅读(133) 评论(0) 推荐(0) 编辑