随笔分类 -  Visual Studio

摘要:最近在网上看到一篇很好的文章, 讨论如何安全有效的引发事件.也许你不一定要用到下面相同的解决方案, 但是至少你应该知道在引发事件时候需要考虑的问题.引发事件的问题引发事件是一个非常容易的事情, 但是的确也有它的误区. 让我们举个例子. 假设我们写个消息接收器, 每当我们收到一个新消息, 我们引发一个包含了新消息的事件 MessageReceived.安装我们通常的方法,就是:public class MessageReceivedEventArgs : EventArgs{ // 接收到的消息 public string Message { get; private set; } ... 阅读全文
posted @ 2011-12-21 07:15 拥有的都是恩典 阅读(7920) 评论(19) 推荐(20) 编辑
摘要:延迟加载(lazy loading) 设计模式是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据(读取属性值)的时候,才真正执行数据加载操作. 有效使用它可以大大提高系统性能. 为了便于理解, 我们来建立一个场景, 假设我们要构造一个Hero(英雄) 类, 每个Hero 有自己的名字和(SpecialSkill)特殊技能. 建模 这是一种建立的方法: 运行程序后输出如下, ... 阅读全文
posted @ 2011-11-24 04:41 拥有的都是恩典 阅读(13188) 评论(26) 推荐(23) 编辑
摘要:背景前几天有同事问到我一个简单的功能, 就是当你使用枚举时如何给每个一元素增加描述字符串并且可以很容易的读取出来.比如有一个枚举类型是列出对一个问题给出的选项(例如: 同意?不同意?中立?):当选择不同的答案时, 希望得到一些描述性的语句比方说:1. "强烈的反对"2. "反对"3. "持中立观点"4. "同意"5. "完全的同意"当然你可以建立一个数据库表格,存放这些信息, 但是我想起几年前,我... 阅读全文
posted @ 2011-10-13 03:13 拥有的都是恩典 阅读(14106) 评论(31) 推荐(22) 编辑
摘要:当对字符串进行操作时,我们经常要删除或者是替换一部分子字符串。 Remove() 和 Replace() 两个函数在这种情况就派上用场了。Remove() – 删除一部分子字符串我们都知道 substring 可以返回字符串的一部分。 当我们想保留字符串中的一部分substring丢弃其它部分时,就可以使用substring,当我们想删除字符串的一部分并保留其它部分时,就使用Remove。Remove 有两种形式:Remove(int startIndex)删除此字符串中从指定位置到最后位置的所有字符。Remove(int startIndex, int length)从此实例中的指定位置开始 阅读全文
posted @ 2011-09-27 02:56 拥有的都是恩典 阅读(66297) 评论(6) 推荐(9) 编辑
摘要:很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能需要加入分隔符(如CSV文件中的逗号),或使用一个分隔符来合并字符串序列。很多人都知道使用split()的方法,但使用与其对应的Join()方法的人就没有那么多。今天,让我们看看它们的应用。Split() – 根据分隔符切割字符串成几部分分割符可以是以下几种形式中的一种:只有一个字符的数组:比方对于“A,B,C,D,E,F” 可以使用 ‘,’ 或者 new [] { ‘,’ } 有多个字符的数组:比方对于“A,B-C,D*E,F”使用 new [] { ‘,’ ‘-‘ ‘*’ } :只有一个字符串的数组:比方对于 “A=>B= 阅读全文
posted @ 2011-09-17 04:01 拥有的都是恩典 阅读(53819) 评论(12) 推荐(20) 编辑
摘要:今年一月份,我发布了本系列第一篇ASP.NET 快乐建站系列 -- 1. 十五分钟建立精美网站,(汗!七个月过去了…)我没有继续这个系列的原因是Sitefinity发布了最新的版本 Sitefinity 4, 原想等待这个最新平台。好消息是他们的确也提供免费Sitefinity Community Edition, 不幸的是当我尝试用 Sitefinity 4进行开发时,遇到了很多问题。Sitefinity 的确是一个很好的CMS平台,优势是后台管理界面友好,集成了他们母公司自己的强大产品 Rad controls, 在开发中Rad Controls 可以帮助你省很多时间,至于Rad Cont 阅读全文
posted @ 2011-08-30 07:51 拥有的都是恩典 阅读(3750) 评论(21) 推荐(4) 编辑
摘要:之前有人问我这个问题。我回答:如果你使用Visual Studio 2010,那么 NuGet 可以使你的生活更加美好。当你项目里要引用到的一些库时候,比如JQuery 库或者 NHibernate, NUnit, log4net 你就可以考虑使用NuGet。它可以辅助你安装或者更新这些库。当然我不得不继续说下去从安装到使用:NuGet是一个Visual Studio 的扩展, 首先你必须要安装它:可以到官方网站: http://nuget.org/然后设置自动检查更新进入 工具|选项,然后环境|扩展管理器 ,点击“ 自动检查更新,安装的扩展。 “当你有一个Visual Studio扩展安装像 阅读全文
posted @ 2011-03-15 07:27 拥有的都是恩典 阅读(26917) 评论(19) 推荐(13) 编辑
摘要:搜索功能(新!) 在Visual Studio中有许多不同的搜索方法(增量搜索,快速查找,在文件中查找,查找工具栏等),对于一个给定的任务往往是不太明确的。 而且查找对话框本身也使得我们没法很好的查看和跳跃代码。 Productivity Power Tools 增加了新的查找扩展。 在编辑文本的状态下,按Ctrl + F 就弹出了这个小而强大的窗口,通过这个窗口你可以使用大多数的快速查找功能,如替换,大小写的选项,并增加了NET的正则表达式! 增强的滚动条 (新!)Enhanced Scroll Bar 提供三种模式(你可以在工具选项中选择不同模式: Scroll bar/ Map/ Ful 阅读全文
posted @ 2011-02-24 10:06 拥有的都是恩典 阅读(12050) 评论(9) 推荐(4) 编辑
摘要:现在的热门话题之一是HTML5 和 CSS3。好的, 它们都很时髦,它们也必然会影响网络开发的未来。 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 CSS3 吧。 首先到微软网站上下载 Visual Studio 2010 SP1。双击开始执行VS10sp1-KB983509.exe, 然后等待补丁的下载安装完成。 – 由于Visual Studio 2010 一开始并没有支持HTML5, 但是在SP1包中,微软开始加入HTML5的规范。 HTML5的支持进入 工具 - >“ 选项, 然后选择 文本编辑器 &ldq 阅读全文
posted @ 2011-02-02 07:54 拥有的都是恩典 阅读(18457) 评论(12) 推荐(6) 编辑
摘要:最近看到几个人问以上问题,在这里给个参考答案,但是具体的情况要具体处理,因为在Usercontrol中实现的功能可能会需要一些特殊的条件,比如它依赖于一些其他的类或者资源,那么大家要小心对待,需要debug的时候,看复杂程度决定是否继续下去还是干脆写个Custom Controls。A 生成DLL文件1. 让我们首先创建一个新项目(如果你已经有一个网站,可以直接打开),创建一个Web User Control,在这里我用的是inline code 模式,即没有codebehind 文件.2. 为了日后引用方便给它一个namespace,源码类似如下:[代码]3. 编译:具体选择请参考下图:你会 阅读全文
posted @ 2011-01-27 09:01 拥有的都是恩典 阅读(3389) 评论(6) 推荐(4) 编辑
摘要:标题有点绕,请原谅。这里解释一下…背景:公司经常要发出一些Enewsletter,里面含有一些特定的链接,当用户点击的邮件内链接的时候,会根据用户的信息带客户到不同的页面,对一些客户会让他们填写表格,而这些表格一开始已经提前放置了客户的基本信息。客户的来源可能是从公司站点的原有注册用户,也有可能来自公司从其他地方收集的信息。-- 补充一句,这不同于一般的垃圾邮件,而是针对特定群体的邀请信。问题:实现的需求的速度是越快越好,所以取巧直接用了客户的电子邮件放置在链接当中,但是如何不让客户或其他人看到甚至修改呢?实现:哈!好在asp.net有个国度叫System.Security.Cr 阅读全文
posted @ 2011-01-22 08:34 拥有的都是恩典 阅读(2232) 评论(8) 推荐(5) 编辑
摘要:这几年帮几个北美的中大型客户建立他们的企业站点,摆在眼前的一个重要问题就是CMS(内容管理系统)。 在过去几年间,很多ASP.net CMS平台被建立起来,优秀的不但存活下来而且功能日益强大,或者说只有日益强大才流传到了今天。对于很多类型的网站,归根到底是基于一个CMS之上进行一个个性化的二次开发,所以选择一个合适的CMS平台可以让你在短时间内迅速建站,省钱省力。群雄中DotNetNuke和Umbraco有很高的威望,很多资深的开发人员都加入到这两个联盟中,mojoportal和N2 CMS 轻便且操作简单往往能捕获小型用户的心,而我想跟大伙讲讲SiteFinity的一些故事。如果你想给客户或 阅读全文
posted @ 2011-01-21 09:24 拥有的都是恩典 阅读(9909) 评论(28) 推荐(12) 编辑