- 博客(79)
- 资源 (7)
- 收藏
- 关注
原创 使用visual studio开发android程序
要在visual studio中开发安卓应用,需要安装从xamarin官网下载安装xamarin for visual studio。安装完毕,会发现android sdk中的一步分安装失败,这是因为xamarin for visual studio虽然包含了android sdk安装,但是只是包含了一部分,具体的api level和android虚拟机镜像都需要联网下载。因为我们大天
2016-05-22 06:50:14 16726
原创 ASP.NET 5 为NPM,BOWER设置代理服务器
在使用visual studio 进行asp.net 5开发的时候,当使用NPM或者Bower下载包的时候,如果当前机器使用了代理服务器,那么下载操作就会失败。因为这些存在于vs里面的第三方工具并不会像vs一样进行代理服务器探测。这时候,我们就要对其进行设置,最简单的方法就是对当前机器添加两个环境变量,如下:SET HTTP_PROXY=http://yourproxyserver:y
2016-01-27 15:00:48 1132
原创 reverse vs converse vs inverse
First, it helps to look at the verb usage: you can reverse something, but you cannot inverse or converse something. The distinctions between reverse, converse, and inverse can often be made by l
2014-10-24 15:38:03 4323
原创 IEditableObject的一个通用实现
IEditableObject的一个通用实现IeditableObject是一个通用接口,用于支持对象编辑。当我们在界面上选择一个条目,然后对其进行编辑的时候,接下来会有两种操作,一个是保持编辑结果,一个取消编辑。这就要求我们保留原始值,否则我们只能到数据库里面再次查询。IeditableObject接口的三个方法定义为我们定义了这个行为规范: public interface IEditable
2014-04-29 10:29:27 2572
原创 创建自己的AutoMapper类,从此不用手动建立对象映射
AutoMapper-对象自动映射在企业应用开发中,很多时候都需要将一个对象转换为另一个对象,比如说在WCF应用的开发中,需要将一个Entity转换为一个Contract对象。大部分情况下,这两个对象会非常相似,有个相同的属性名和类型。如果每次我们都要手写这中转换代码,不但容易出错,而且工作量也非常可观。所以开发一个自动映射类还是非常必要的。我们把此类命名为AutoMapper,它应该实现以下
2014-04-24 15:47:01 11244
原创 自定义AsyncResult
.net中提供的APM编程模型主要为了实现两个需求:1. 非阻塞模型。例如一个UI客户端要运行一个复杂算法得到一个结果,这时候UI最好是不能卡住的,所以就需要使用APM模式。2. 节约线程资源在使用同步API来访问网络的时候,在结果返回之前,无论是UI线程还是线程池线程,客户端会有一个UI线程在等待。此线程浪费了内存资源,所以最好应该避免这么做,这时候也需要使用
2014-04-23 11:00:06 5823
原创 replace vs substitute
两者都有替代的意思:replace更多情况下应翻译为取代,因为代替品比被代替物品更好。substitute多数情况下应翻译为替代,代替品和被代替品没有谁好谁坏之分。
2014-03-30 14:25:12 832
原创 modest vs humble
Modest describes the personality trait or behaviour of not flaunting oneself, talking oneself up or putting oneself on display. Modest behaviour can be a response to compliments, praise or follow
2014-02-27 22:31:09 2341
原创 hate vs hatred
hate 和 hatred都有憎恨的意思,hate可以当名词可以作为动词使用,而hatred只能作为名词使用。在old English中可能有些区别,但是当代英语里面,作为名词使用时,这两个单词没有任何区别。
2014-02-27 14:31:09 3360
原创 advice vs suggestion
advice: an opinion or recommendation offered as a guide to action, conduct, etc.:I shall act on your advice.suggestion: to mention or introduce (an idea, proposition, plan, etc.) for conside
2014-02-22 18:39:19 1077
原创 eventually vs finally
finally:You use finally to suggest that somethinghappens after a long period of time, usually later than you wanted or expectedit to happen.eventually:Eventually means in the end, especially a
2014-02-22 16:02:13 1414
原创 whole vs entire
Wholecomes from “unhurt”, and means a single object that has not been subdivided. Entirecomes from “complete”, and means no part has been left out.
2014-02-22 15:50:00 918
原创 award vs reward
Award:An award is an honor (such as a medal or trophy) that is conferred for merit, usually after a decision made by a committee of judgesReward:A reward is something (usually money) given in re
2014-02-20 12:16:42 762
原创 try doing vs try to do
Try to do something, 尝试去做某事,看是否能做到。例句:I tried to lift the heavy box.Try doing something, 尝试去做某事看结果是否能达到自己的目的。例句:Trying making a note of things that annoy you.
2014-02-17 13:26:51 1133
原创 Use Logging Application Block 6.0
写日志主要是通过LogWriter类来完成的,如下所示:LoggingConfiguration config = newLoggingConfiguration();LogWriter writer = newLogWriter(config); writer.Write("Hello world.");执行
2014-01-05 23:21:46 1610
原创 使用性能计数器监控应用程序
监控应用程序的性能的一个很好的办法就是使用Performance Counter。Windows提供了系统工具来显示PerformanceCounter收集的数据,在运行对话框中输入perfmon,就可以调出该工具来显示PerformanceCounter收集的数据。如果在工具中添加一个Performance Counter,就会发现,每一个Performance Counter都会属于一个目录,
2013-12-31 22:55:33 1981
原创 GC总结
内存基础知识下面的列表总结了重要的 CLR内存概念。· 每个进程都有其自己单独的虚拟地址空间。同一台计算机上的所有进程共享相同的物理内存,如果有页文件,则也共享页文件。· 默认情况下,32 位计算机上的每个进程都具有 2 GB 的用户模式虚拟地址空间。· 作为一名应用程序开发人员,您只能使用虚拟地址空间,请勿直接操控
2013-12-26 17:49:49 4918
原创 并发使用使用同一个客户端代理
在有些情况下,我们可能会在不同线程中使用同一个WCF客户端代理,如果WCF客户端支持并发,那么我们的多个调用就不用排队,假如说我们的三个调用分别花费1秒的时间,那么在支持并发调用的情况下,三个调用都返回的时间应该是1秒多一点。如果客户端代理不支持并发,或者说对调用进行了排队,那么三个调用都完成的时间应该在3秒多一点。幸运的是,WCF客户端是支持并发调用的;但是必须在调用前显式打开Channel,否
2013-11-15 14:19:08 1117
原创 详解MustUnderstand属性
MessageHeaderInfo类中有一个 MustUnderstand属性,按照MSDN的解释,该属性指示消息的接收者必须理解此messageheader,如果不能理解此消息头,就会抛出ProtocolException,消息就不会被继续处理下去。那么消息头如何算是能被理解的呢?主要取决于MessageHeaders.UnderstoodHeaders属性,该属性表明了当前消息中可以被理解
2013-11-15 12:04:18 3970
原创 详解HostNameComparisonMode属性
在大多数绑定类中会有一个HostNameComparisonMode属性,如下所示:var tcpBinding =newNetTcpBinding();tcpBinding.HostNameComparisonMode =HostNameComparisonMode.Exact;该属性知识如何进行主机名匹配,例如:服务端公开的终结点地址为net.tcp://localhost
2013-11-15 12:03:35 2355
原创 Entity Framework 5.0 Code First全面学习
不贴图片了,太累。Code First 约定借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型。模型的基本形状可通过约定来检测。约定是规则集,用于在使用 Code First 时基于类定义自动配置概念模型。约定是在 System.Data.Entity.ModelConfiguration.Conventions 命名空间中定义的。可通过使用
2013-11-01 17:20:11 87584 14
原创 理解和使用WPF 验证机制
首先建立一个demo用以学习和实验WPF Data Validation机制。创建一个数据实体类:public class Employee{ public string Name {get; set; } public int? Age {get; set; }}创建一个用户控件或者窗口,用以输入Name和Age,如下:Grid Width="
2013-06-20 11:15:37 10058 4
原创 理解Unity中的Interception
Enterprises Library中Unity中的Interception在框架设计中,调用拦截是非常有用的技术,主要用来实现AOP框架。Unity中提供了拦截功能,该功能可以以扩展的方式加入Unity中,也可以单独使用。EL中的帮助文档非常简陋,完全不适合学习,甚至作为查询文档都不合格。网上对其描述的文章也非常少,而且也都是非常简单的描述。所有这些都让我非常失望,我决定自己读Unity的
2013-04-22 14:52:38 1866
原创 字符串搜索树
字符串搜索树支持使用字符串对对象建立索引,以便于查询。 这些字符串应该都是从对象的属性上获取的。而且可以按照指定的规则将字符串分解为单词。Insert方法用来在一个单词和指定对象之间建立关联。Remove方法用来在索引树中删除一个指定对象。Prune方法用于在删除了大量对象后,优化索引树,删除那些没有作用的节点。Find方法用来查找对象;支持通配符查找, 通配符为*,而且只能放在查
2013-03-14 11:00:20 1044
翻译 Entity Framework in Action摘要
Entity Framework inAction摘要第三章对象模型查询基础手动创建DbSet类型的实例: // 为指定的类型返回System.Data.Entity.DbSet,这将允许对上下文中的给定实体执行 CRUD 操作。 publicDbSet Set()where TEntity :class;
2013-03-06 20:53:31 5583
原创 快速入门:使用WINDBG调试.NET 程序
1. 启动WinDBG附加到要调试的进程2. 加载SOSa. 对于.Net Runtime 2.0.loadby sos mscorwksb. 对于.Net Runtime 4.0.loadby sos clr3. 加载符号.symfix c:\symbols4. 重新加载模块的符号文件.reload
2013-03-04 17:52:44 3839
原创 数值范围选择控件RangeSlider
RangeSlider控件用于在一个指定上下限的范围中选择一个数值范围,因此该控件的Maximum和Minimum属性用于指定上下限;而SelectionStart和SelectionEnd用于指定选择的范围,还有一个Change属性用于指定SelectionStart和SelectionEnd的最小变化值。运行效果如下图所示。默认样式很难看,不过定制一个漂亮的样式很简单。 以下是
2012-12-29 14:29:51 7975
原创 创建WatermarkTextBox和WatermarkPasswordBox(带水印的文本框)
使文本框带有文字提示是一个非常有用特性,不但让界面变得整洁,而且代码也简洁了不少。Windows登录时,输入用户名和密码的文本框和密码框就有这个功能。在WPF里面创建这样的文本框和密码框非常简单,下面就一步一步介绍如何实现这个功能。首先创建一个WatermarkTextBox类从TextBox派生。然后添加两个依赖属性:Watermark:该属性类型为String,用于设置要显示在文本框里
2012-09-05 09:43:23 6021 3
原创 person
person ['pə:sən]n. 人;身体;容貌,外表;人称persona [pə:'səunə, -nɑ:]n. 人物角色;伪装的外表personable ['pə:sənəble]adj. 风度好的;貌美的;具有行为能力的personage ['pə:sənidʒ]n. 要人;角色;名士personal ['pə:sənl]adj. 个人的;身体的;亲自
2012-02-19 11:10:17 1371
原创 使用编程方式开放元数据端点
使用编程方式开放元数据端点,有以下几种方法: 1. 使用ServiceMetadataBehavior公开元数据终结点,如下: using (ServiceHost host = new ServiceHost(typeof(User), new Uri("http://localhost:8000"))) {
2011-11-23 07:56:30 863
原创 一个自己创作的拖放框架(DragDropFramework)
一个自己创作的拖放框架(DragDropFramework)在WPF编程中,拖放操作涉及的事件极多。如果每次因为有一个拖放操作需求就要监听所有事件来完成拖放操作,工作量将非常可观。为了复用代码,有人使用WPF的关联属性创作了一个拖放框架,我对其进行了完善。使用非常简单,只需要从DragSourceAdvisor和DropTargetAdvisor派生自己的类型,并重写相应的方法,并将此对象用关
2011-08-01 15:36:51 2671
原创 form的延伸词汇
form [fɔ:m] n. 形式,表格vt. 形成formal ['fɔ:məl] adj. 正式的;拘谨的;有条理的n.正式的社交活动;夜礼服former ['fɔ:mə] adj. 从前的,前者的;前任的n.模型,样板;起形成作用的人formerly ['fɔ:m
2011-07-21 07:34:13 1836
原创 一个简单的Undo Redo Framework
下面的代码构建了一个实现撤销和重做功能的框架。实现非常简单,只有三个类。ICommand类定义了一个可以重做和撤销的命令所需要实现的接口。CompositeCommand类实现了该类,封装了将一组Command作为单一命令撤销和重做的功能,这是一个Composite模式的一个简单
2011-07-20 15:59:06 907
翻译 L是无外观
ItemsControl: 'L' is for Lookless (a.k.a., "Styles, Templates, andTriggers… Oh My!")在这片文章中,我们将研究WPF控件如何通过样式和模板获取可视化展示。然后我们将看看这些技术是如何应用到Items
2011-07-15 16:01:11 1693
翻译 E是可编辑集合
ItemsControl: 'E' is for Editable Collection1. 理解ListCollectionView类如果你绑定到一个ObservableCollection 集合,也就是说一个实现了IList的集合,绑定引擎会自动为该集合自动产生一个Li
2011-07-14 17:46:41 1087
redo undo framework source code
2011-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人