- 博客(210)
- 资源 (13)
- 收藏
- 关注
原创 Metalama简介4.使用Fabric操作项目或命名空间
本系列其它文章使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架Metalama简介2.利用Aspect在编译时进行消除重复代码Metalama简介3.自定义.NET项目中的代码分析Metalama中的Fabric可以做什么Fabric通过修改项目、命名空间、类型来达到一些效果,这引起修改包括:添加Aspect或添加代码分析使用Fabric为指定的方法添加Aspect前文中我们写过一个简单的Aspect:
2022-04-23 12:02:32
548
原创 Metalama简介3.自定义.NET项目中的代码分析
本文介绍,如何使用Metalama库对.NET项目添加自定义的代码分析,即自定义的编译时警告、错误
2022-04-13 13:42:59
475
原创 Metalama简介2.利用Aspect在编译时进行消除重复代码
1. 关于Metalama中Aspect的基础2. 一些关于Aspect的示例,最终目的是通过本篇的介绍,将在编译时自动为类型添加`INotifyPropertyChanged`,实现如下效果: 1. 自动添加接口 2. 自动添加接口实现 3. 改写属性的set和get
2022-04-12 10:15:59
658
原创 Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架
Metalama是一个基于微软编译器Roslyn的元编程的库,可以解决我在开发中遇到的重复代码的问题。但是其实Metalama不止可以提供编译时的代码转换,更可以提供自定义代码分析、与IDE结合的自定义代码修复与代码重构功能 等功能。 经过面对文档的学习,发现Metalama可以做到很多非常神奇的事
2022-04-11 11:11:53
427
原创 使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题
介绍如何通过使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题。 可以在项目编译时自动插入指定代码,从而避免在运行时带来的性能消耗。 阅读全文
2022-04-06 20:47:18
421
原创 使用SignalR实时显示淘宝买家信誉及中差评信息
注,本文使用开发环境:Visual Studio 2012.2,平台:ASP.NET MVC 4,数据库:本文未说明一、啰嗦故事接触SignalR已经很长一段时间了,不过也没用它写过什么像样的Demo。今天就与大家分享一个比较简单Demo,本文的重点在于如何使用SignalR。只是以一个实际的例子来说明一下。 Story:故事是的起因是这样地,淘宝卖家是个很可怜
2013-04-27 10:56:01
7741
3
原创 在ASP.NET中自动合并小图片并使用CSS Sprite显示出来
前几天MS的ASP.NET小组推出了一个小组件:Sprite and Image Optimization Framework,用于生成Sprite CSS,及将小的图片生成一副大图。 下载地址:http://aspnet.codeplex.com/releases/view/50140 下载后工程中有一个类库,一个ASP.NET WebForm示例以及一个ASP.NET MVC示例。 下面我们就看看ASP.NET MVC的示例 图中所标记的图片都是来源于一个整张的图片 ~/App_S
2010-08-13 00:46:00
5302
原创 为ASP.NET MVC 2.0添加Razor模板引擎 (on .NET4)
根据ScottGu的博客记述(http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx),在未来不久将会发布一个ASP.NET MVC 3.0的Preview版本,在这个版本中可以使用多个内置的模板引擎,以它发布出来的截图来看,其中包括NHaml,Spark以及微软刚刚发布的ASP.NET Web Pages(Razor)。 ASP.NET Web Pages包含在Web Matrix中,提供了一种新的模板模式,其扩展名
2010-07-10 18:10:00
3719
原创 如何获取视频网站的信息(土豆例子)
现在不少的视频网站都提供转载视频的功能 我之前写过一篇CHSNS#中通过youku的视频网址获取视频截图及视频信息,虽然可能地址已经改了但却未涉及土豆网,其实土豆获取的方法与优酷是差不多的。 http://www.tudou.com/ 其中的一个视频 http://www.tudou.com/programs/view/OiokB0Rohag/ 我选择贴到博客,然后复制Flash播放器地
2009-12-16 13:47:00
3915
原创 MVP Open Day 三地MVP齐聚北京
此次Mvp Open Day所以获颇多,结识了许多之前“只闻其名”的朋友。真是名附其实的网友聚会。 而且也有缘认识了一些台湾做开发的朋友。 另外有感的就是Mvp中不乏多才多艺者。 第一天的星光大典有N位有才艺者献艺。 第二天的参观微软,也听到了很多微软的一些管理层的声音,也参观了微软。 第三天除了微软管理方面的演讲之后就是大陆方
2009-12-16 12:54:00
2627
1
原创 ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
如果是在使用C#4.0的话用户可以使用Dynamic的特性来动态访问模型中的属性,例如我们也像前面使用ViewData.Model一样传递一个实例,并且我们使用了如果代码在Action的View方法中传递User的一个实例: public ActionResult MyDynamicAction(){ var demo = new User { Name = "ZouJian", Age =
2009-12-12 19:54:00
7464
15
原创 VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
Controller(HomeController): public ActionResult Index() { ViewData["Message"] = "Welcome to ASP.NET MVC!"; return View(); } [ValidateIn
2009-12-12 19:54:00
4484
2
原创 ASP.NET MVC 1.1 _VS2010 & ASP.NET MVC 2 新特性
ASP.NET MVC 1.1 on Visual Studio 2010 Beta1由于 VS2010 Beta的发布,所以ASP.NET MVC在Codeplex上发布了一个专门为其准备的ASP.NET MVC版本:http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28527 关于ASP.NE
2009-06-12 17:22:00
4003
2
原创 CHOJ# 在线编译及评判系统(OnlineJudge)2.0 Beta2 on Azure云平台
这一次发布的版本部署在了Azure上,如果想要本地部署,下载Beta1即可Azure支持 完整沙箱禁止危险代码 Live Id 登录支持 编译时状态支持 在线示例 http://oj.eice.com.cn/ 支持VB.NET 及C#代码(C#为3.0 可以使用新特性)使用方法:登录及设置昵称后,选择一道题,根据题意编写程序,然后点击Submit提交
2009-06-12 14:21:00
4304
3
原创 ASP.NET MVC雕虫小技 3、Pager
上篇过后,被评为没有什么技术含量了,但我觉得这并没有什么问题,因为文章不一定会让所有人群受益,文章或适于新手,或适于熟手。但凡是对人有所启发,我觉得写文章有值得。而且我觉得这一系列主要是在开发中遇到的问题及解决方法,有容易想到的,有经过几次开发迭代才形成的。还是那句话,这些未必是一些高效的技巧,但是的确是能解决问题,也未必有什么高深的原理,只是我觉得值得分享。3.Pager3.1
2009-05-11 00:10:00
3936
3
原创 ASP.NET MVC雕虫小技 1-2
看到AnyTao和TerryLee分享的关于ASP.NET MVC使用和优化的技巧,不免手痒,也分享一下这一年多来ASP.NET MVC开发的积累。其中未必是一些高效的技巧,但是的确是能解决问题,也未必有什么高深的原理,只是我觉得值得分享。1.Controller来控制HTML的Title我想大部分朋友都有在Controller里面指定Html页面Title的需求。我习惯于先
2009-05-08 16:50:00
3523
2
原创 ASP.NET MVC 重点教程一周年版 总结:ASP.NET MVC模型
ASP.NET MVC 重点教程一周年版算是书写完毕了,在最后,用一个ASP.NET MVC的模型来总结一下这些篇 文章,也最后清理一下思路
2009-05-04 15:52:00
3192
1
原创 ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
母版页(Master)1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应。2.其实在ASP.NET MVC中View的aspx与母版页并不像WebForm中那样紧密关联。例如我想更换一个aspx的母版页,只要在Action中return 时指定所要使用的Master即可: 如图我有2个Master文件,而/Views/
2009-04-29 11:47:00
4750
1
原创 Unity 实现 AOP
前提引用以下文件Microsoft.Practices.ObjectBuilder2.dllMicrosoft.Practices.Unity.dllMicrosoft.Practices.Unity.Configuration.dllMicrosoft.Practices.Unity.Interception.dllMicrosoft.Practices.Unity.In
2009-04-28 17:28:00
6932
4
原创 ASP.NET MVC 重点教程一周年版 第十回 请求Controller
其实我们通常遇到的请求方式无非get/post,但是有很多Web开发人员仍然对二者分不清。 get即通过URL中的QueryString向服务器端传值的方式,它的数据是可见的,可post则是通过一个postdata包向服务器传值,post方式可以传送更多数据(如上传文件),也更安全(如登录)。 本文将演示各种通过客户端页面(即最终生成的页面)向Controller提交请
2009-04-28 11:19:00
3337
原创 ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper
许多时候我们会遇到如下场景在写一个编辑数据的页面时,我们通常会写如下代码 1: input type="text" value= name="title" />由前篇我们所讲的Helper演化,我们思考,对于这种代码我们是不是也可以用一个Helper来自动绑定数据呢这当然是可以的,ASP.NET MVC提供了一个HtmlHelper用于生成有数据绑定的Htm
2009-04-13 17:13:00
3721
原创 无缝缓存读取简化:仅Lambda表达式传递委托
之前写了一篇:无缝的缓存读取:双存储缓存策略,其中使用了两个存储地址交替提供缓存数据。在其中用了两个存储指针转换以达到无缝读取缓存,在Cat Chen一语提醒之后,想了一想:的确是没有必要在缓存中使用两个存储指针的,其实一个存储地址,只要保证写入时在其它线程就可以。更改存储介质至以下两个属性:namespace CHCache { /// /// 缓存介质 ///
2009-04-03 09:33:00
2279
1
原创 无缝的缓存读取:双存储缓存策略
起最近在做一个WEB的数据统计的优化,但是由于数据量大,执行一次SQL统计要比较长的时间(一般700ms算是正常)。正常的做法只要加个缓存就好了。但是同时业务要求此数据最多1分钟就要更新,而且这一分种内数据可能会有较多变化(而且原系统不太易扩展)。也就是说缓存1分钟就要失效重新统计,而且用户访问这页还很是频繁,如果使用一般缓存那么用户体验很差而且很容易造成超时。 承看到
2009-04-01 23:58:00
2873
原创 ASP.NET MVC 重点教程一周年版 第八回 Helper之演化
凡事出现必有原因就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的。而Helper则是为了方便View的开发而产生的。下面我们来解决几个问题,来看看Helper是怎么演化出来的。起题目:如何在View中写一个超级连接连接到主页?这个问题看起来很好回答:a href="/home/index">首页a> 承其实上面这种不能称之为
2009-03-31 23:19:00
2808
原创 ASP.NET MVC 1.0正式发布
历经1年半,5个Preview版本2个RC版本之后,ASP.NET MVC终于正式发布 引用一下LULU的文章: 下载地址: http://go.microsoft.com/fwlink/?LinkId=144444下面是ASP.NET MVC的在线文档:http://go.microsoft.com/fwlink/?LinkId=145989 下面是一
2009-03-18 20:53:00
3673
1
原创 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File Management
频繁的与美工交接,频繁的通过FTP、远程连接上传文件,哪怕是改一个字节都要传一次服务器。日常开发中有太多的很烦很烦的界面修改,于是我之前做了ASP.NET MVC View Management,用于管理服务器上ASP.NET MVC中View文件的小改动,不过后来又感觉到有些配置文件有时也要修改,于是将其扩展至上一层,使之能管理更多的文件。在这个项目中,我没有考虑过多的安全问题与文件是否可编
2009-03-17 20:25:00
142
原创 ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
这节讲 一下ASP.NET MVC中的Helper。 何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组。 其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢? 其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来很多),在扩展包中,也有Castle的NVelocity引
2009-03-12 01:46:00
1745
1
原创 ASP.NET MVC 重点教程一周年版 第六回 过滤器Filter
在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能 判断登录与否或用户权限 决策输出缓存 防盗链 防蜘蛛 本地化与国际化设置 实现动态Action Filter是一种声明式编程方式,在Asp.net MVC中它只能限制于Action(或它的Controller)。 Filter要继承
2009-03-12 01:30:00
3104
1
原创 ASP.NET MVC 重点教程一周年版 第五回 ActionResult的其它返回值
我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件。而它的返回类型是ActionResult如 public ActionResult Index() { return View(); }除了View()之外那我们这里还能用于返回什么值呢?一、ascx
2009-03-12 00:52:00
1998
原创 ASP.NET MVC 重点教程一周年版 第四回 向View传值
一、ViewData与TempData属性来向View页传递对象 上文中已经提到,使用ViewData可以将数据由Controller传递到View 在前文中我们建立了EiceController类 在本文的示例中我们将这个Controller改一下 public class EiceController : Controller { p
2009-03-12 00:17:00
2298
原创 ASP.NET MVC 重点教程一周年版 第三回 Controller与View
这节我们让ASP.NET MVC真正的跑起来一、新建Controller首先我们自己新建一个新的Controller在Controllers上点右键,添加,Controller选项 之后出现一个对话框: 这里我们将之起名为EiceController 附注一下,这里是个纯广告,无兴趣可略过此行:www.eice.com.cn为您建立Web2.0社交网站 默认生成
2009-03-11 23:52:00
1892
原创 Asp.net Mvc 重点教程一周年版 第二回 UrlRouting
一、什么是UrlRouting 你可以使用UrlRouting来配置一些URL的映射,使用户可以按你的规则来访问网站. 使用UrlRouting,一定要规定URL模式,它包括一个位置标识,它将在你请求网页时按这个规则返回给你内容. 当然,这个创建的规则完全是由你自己定义的. 上回说道如何访问index.aspx及about.aspx: 但是http://localhos
2009-03-11 23:22:00
2442
原创 Asp.net Mvc 重点教程一周年版 第一回 安装,并使ASP.NET MVC页面运行起来
从前写过一系列的ASP.NET MVC教程,ASP.NET MVC在这之后历经5个preview版本终于到今天的RC版本,而且不久就要正式推出正式版本,所以值此之际,重典也重新修正这一系列的教程,使之与时俱进。 因为最初的一篇是写自2008年3月10日(Asp.net Mvc Framework 系列),回头看看已经足足一年了,所以本系列修正版本的教程就叫做ASP.NET MVC重典教程一周年版
2009-03-11 22:42:00
3202
原创 使用ASP.NET MVC Futures 中的异步Action
之前看过老赵这两篇文章。也研究了一下老赵异步的实现方式。不过感觉自己扩展的话,在ASP.NET MVC中使用异步还真是麻烦,刚好看到从RC1版开始 ASP.NET MVC Futures中提供了几个支持异步的类。相关的类包括AsyncActionDescriptor、AsyncController、AsyncControllerActionInvoker、AsyncManager、As
2009-03-06 08:07:00
1242
原创 微软也走先使用后收费的路子--创业企业扶植计划(Microsoft BizSpark™)
路过MSDN,看到微软推出这个计划,参与此计划的企业不用出任何费用,但是退出此计划要交付$100这个计划可以让创业公司获取开发工具、平台技术及产品的许可证暂包括MICROSOFT® VISUAL STUDIO® TEAM SYSTEM TEAM SUITE(VSTS)与 MSDN® PREMIUM 订阅包含的所有软件 EXPRESSION® STUDIO VERSION 2
2009-02-26 14:14:00
2148
原创 前人去,后人来,又是一岁,北京俱乐部年会
今天的北京俱乐部年会我去的迟了,没赶上热乎的。 算起来我已经是第三次参加.net俱乐部的活动了,但在北京还是首次,感觉挺亲切的。 组织会议的朋友都很细心,演讲和节目也都不错,PPT轮上。 印象比较深的还是属Windows7的演示,VHD可以当做硬盘加载和直接开机直接加载并启动虚拟盘中系统的功能的确很让人心动。 在大会上遇到园子里的施炯了。 互动环节也挺多,下面show两段手机拍的视
2008-12-28 20:51:00
1034
原创 CHSNS#中通过youku的视频网址获取视频截图及视频信息
有几位朋友问我CHSNS#中的视频插件,提交时只提供了youku视频的地址,却可以自动获取视频的标题及缩略图,这个是如何实现的. 实现方式如下youku的站外引用提供了如下地址 http://player.youku.com/player.php/sid/XNTg0NDExMzI=/v.swf其中XNTg0NDExMzI=这个部分可以看做是视频的ID而每次视频播放时v.
2008-12-10 14:24:00
2028
1
原创 DynamicData for Asp.net Mvc留言本实例 下篇 更新
我并不打算再建一个edit页来实现更新,而打算用现有的create页来实现更新功能 虽然也许这样并不符合其语义,但我仍想这么做,因为asp那时候大家都是把增删改查放在一个页面的只用参数来区别 如: article?m=add article?m=modfiy article?m=delete 由于控件的流行,细节被Asp.net隐匿了起来,很多朋友不再通过QueryString或隐藏表
2008-11-14 23:31:00
994
原创 DynamicData for Asp.net Mvc留言本实例 中篇 新建.删除.数据验证
上篇咱完成了显示列表的功能,下面接着来 也许您有疑问,这个显示列表不是和正常的Asp.net Mvc差不多吗?也是个foreach只是由原来的变成了之流,反倒是多写了字,除了分页那里爽一点以外,其它地方没见着好处. 下面我们就来看看DynamicData for Asp.net Mvc的好处 前提工作 总有前提工作真是累 这回还是在Application_Start()里加语句,使之成为
2008-11-14 23:29:00
1355
原创 DynamicData for Asp.net Mvc留言本实例 上篇 准备工作及显示文章列表
DynamicDataMVC出现也有一段时间了,一直没有正视它,今天抽一点时间了解了一下感觉还算不错。 本身下载时自带一个博客的例子,但例子略显复杂,不容易理清思路 附:本文初稿某兄入手先读,提出诸多疑问想必其它朋友可能也会有类似问题,故蓝字注明,当然大多朋友可以省去不看 下载及新建工程 下载地址:http://www.codeplex.com/aspnet/Release/Project
2008-11-14 23:27:00
1409
NVelocity ViewEngine To Asp.net Mvc(pv4) 1.0 正式发布
2008-08-22
CHSNS#1.05 免费版
2008-02-27
仿FaceBook的SNS社区网站
2008-02-15
成幻OnlineJudgeV1.0源代码
2008-02-15
成幻OnlineJudgeV1.0整站程序
2008-02-15
重典千枫校内版Beta 1.03
2007-07-01
成幻Online Judge 1.0 beta
2007-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人