随笔分类 -  .Net Framework and C#

摘要:Entity Framework DBContext 增删改查深度解析 有一段时间没有更新博客了,赶上今天外面下雨,而且没人约球,打算把最近对Entity Framework DBContext使用的心得梳理一下,早些时候在网上简单查过,对于最新版本的EF并没有类似的知识梳理类文章,希望对大家有所帮 阅读全文
posted @ 2018-04-22 20:50 SolidMango 阅读(1334) 评论(11) 推荐(3) 编辑
摘要:Entity Framework 乐观并发处理 有一段时间没有更新博客了,今天终于有一些时间,和大家讨论一个Entity Framework 乐观并发处理的问题。首先需要说明的是,这里提到的 “并发” 并不是指的多线程处理,也就是笔者这里要讨论的是另外一个问题场景,这个场景描述如下: 1. 系统用户 阅读全文
posted @ 2018-03-10 22:25 SolidMango 阅读(905) 评论(2) 推荐(5) 编辑
摘要:WPF依赖属性详解WPF 依赖属性 英文译为 Dependency Properties,是WPF引入的一种新类型的属性,在WPF中有着极为广泛的应用,在WPF中对于WPF Dependency Properties的使用贯穿样式的使用,数据绑定,动画等等,在刚刚接触Dependency Prope... 阅读全文
posted @ 2015-03-15 23:13 SolidMango 阅读(7096) 评论(0) 推荐(0) 编辑
摘要:对比MFC资源文件谈谈WPF布局方式MFC方式对于传统的MFC基于UI的应用程序设计通常分两步走,首先是设计UI,使用的是RC文件,然后是代码文件,对RC文件进行操作,如下面Figure 1 的基于对话框的应用程序,其对应的代码如Figure 2所示,这就是MFC时代的所见即所得,如大家所见,每个控... 阅读全文
posted @ 2015-03-12 20:07 SolidMango 阅读(4108) 评论(9) 推荐(2) 编辑
摘要:只用一行代码让你的ASP.NETMVC跑起来MVC框架一直是企业开发绕不过去的东西,先是JavaEE的Structs,然后是SpringMVC,再到我们今天要讨论的ASP.NETMVC。比较而言,C#程序员还是要幸福很多,因为微软帮我们做了太多我们不喜欢花时间的东西,让我们可以解放出来更加集中精力关... 阅读全文
posted @ 2015-03-11 20:55 SolidMango 阅读(1344) 评论(1) 推荐(0) 编辑
摘要:WPF The Hard WayWindowsPresentationFoundation(WPF)是微软下一代显示系统,用于生成能带给用户震撼视觉体验的Windows客户端应用程序。使用WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。WPF的核心是一个与分辨率无关并且基于向量的呈现引... 阅读全文
posted @ 2015-03-08 10:31 SolidMango 阅读(1200) 评论(4) 推荐(0) 编辑
摘要:The Microsoft .NET Framework consists of a library of classes called the Framework ClassLibrary(FCL) and a Common Language Runtime (CLR) that provides a managed code executionenvironmentwith features such as just-in-time compilation, type verification, garbagecollection,and code access security. By 阅读全文
posted @ 2012-05-02 22:26 SolidMango 阅读(699) 评论(0) 推荐(0) 编辑
摘要:强制结束进程的两种实现方式--C#和C++实现最近在做一个大型的项目,由于进程之间的关联出了一些问题,长话短说,就是我们不得不强制停止某些进程以保证系统正常的运行,在网上找了一下,没发现有这方面详细的介绍和写的比较全面的文章,于是按照MSDN的说明写了两种方法,希望对遇到类似问题的朋友有所帮助。首先,我们来看看C#的实现方式, 由于C#对进程的封装比较好,所以我们只需要较少的语句就可以完成这个工作,值得强调的是参数有效性检测和名字比较,由于系统中可能运行很多意想不到的进程,所以在比较名字的时候一定要用等于而不是包含或者之比较开头和结尾,否则很可能杀错进程,相关代码如下。C# Code://Re 阅读全文
posted @ 2012-04-17 18:25 SolidMango 阅读(13191) 评论(6) 推荐(4) 编辑
摘要:经常发现有人在网上提出这样的问题,现实中也确实有不少人在经历了3-5年的Windows开发之后就开始迷失方向,每天浑浑噩噩混日子,可能是因为这个问题粒度太大,没人愿意花时间回答,希望本文可以抛砖引玉,给大家节省些时间,同时也希望园子里面的兄弟们能尽力的补充,从而使这篇文章可以帮助更多的后来人。 首先说明的是,本文提到的各种技术不分先后,没有顺序,虽然先学什么,再学什么对某些人来说可能更方便,但是这些都不是绝对的,因为每个人的情况不同。 Windows开发首先必须学习的就是操作系统的API,因为其他的一切都是构建于OS之上,所谓九层之台,起于垒土,如果你对linux的系统调用很熟悉就会发现其.. 阅读全文
posted @ 2011-11-26 10:45 SolidMango 阅读(9558) 评论(44) 推荐(14) 编辑
摘要:最近由于项目的关系,对Microsoft在各种编程语言中提供的TreeView控件做了一些研究。最初在网上查了一下,除了Microsoft的MSDN有些分散的knowledge, 并没有发现有这方面主题文章,于是有了写这篇文章的想法,希望可以抛砖引玉,让后来人少走些弯路。出于个人兴趣的关系,我主要对Microsoft Visual C++ 和C#两种语言中的TreeView控件进行了相应的研究,在这两种语言中,对于TreeView控件的基本用法本文不做说明,相对高级的用法主要是为TreeItem设置静态图标和选中图标,dragand drop操作,由于C#中的TreeView控件是所有微软提供 阅读全文
posted @ 2011-11-16 13:52 SolidMango 阅读(12396) 评论(2) 推荐(5) 编辑
摘要:看到过园子里面几篇协变和逆变的文章,但是总觉得写得不够清晰,文章这东西注重要是要把自己想表达的观点表达出来,这个过程应该是把复杂的东西消化出来从而简单化,清晰化,而不是故弄玄虚,反其道而行之,下面我们言归正传啦。我们先来看一段MSDN原文给协变,逆变和变体下个定义:A generic interface or delegate is called variant if its generic parameters are declared covariant or contravariant. Both C# and Visual Basic enable you to create your 阅读全文
posted @ 2011-11-09 13:32 SolidMango 阅读(14775) 评论(30) 推荐(9) 编辑
摘要:1.0--3.5sp1http://msdn.microsoft.com/zh-cn/library/ms171868(v=VS.90).aspx4.0http://msdn.microsoft.com/zh-cn/library/ms171868(v=VS.100).aspx 阅读全文
posted @ 2011-10-11 19:20 SolidMango 阅读(420) 评论(0) 推荐(0) 编辑
摘要:C# 语言规范没有定义编码标准。 但是,Microsoft 使用本主题中的这些指南开发示例和文档。 编码约定可实现以下目的:它们创建一致的代码外观,从而使读者可以关注内容而非布局。它们使读者能够根据以前的经验作出假设,从而更加快速地理解代码。有利于复制、更改和维护代码。演示 C# 最佳做法。命名约定 命名指南在 名称准则 中介绍。 您无需更改由 Visual Studio 设计器工具创建的对象的名称,就可以让它们符合指南。 在不包括 using 语句 的简短示例中,使用命名空间限定。 如果您知道默认情况下会将某命名空间导入项目中,则无需完全限定来自该命名空间的名称。 如果限定名称太长无法放入一 阅读全文
posted @ 2011-10-10 21:15 SolidMango 阅读(482) 评论(0) 推荐(0) 编辑
摘要:1. Domain Login 验证用户权限publicboolValidateDomainUser(stringUserName,stringPassword,stringDomain){boolbValid=false;using(PrincipalContextcontext=newPrincipalContext(ContextType.Domain,Domain)){bValid=context.ValidateCredentials(UserName,Password);}returnbValid;}2. Domain Mode读取privatevoidDomainModeChec 阅读全文
posted @ 2011-04-22 14:23 SolidMango 阅读(2389) 评论(0) 推荐(2) 编辑
摘要:前提是程序以Any CPU 方式编译,我看到网上好多朋友判断系统位数的方式,又是P/Invoke,又是获取系统位宽,真的有必要么?以下是我认为最简单的一种方式,请朋友们给出更简单的方式,或者指出我的错误。if(IntPtr.Size==8){//64bit}elseif(IntPtr.Size==4){//32bit}else{//...NotSupport}请大家不吝赐教.. 阅读全文
posted @ 2011-03-28 15:09 SolidMango 阅读(4370) 评论(20) 推荐(3) 编辑
摘要:关键字:COM,.NET,互操作,封送 多年来在程序设计领域微软技术一直引领着每个时代,在每一代的技术背后都有相关的动机,而这些动机及其实现细节往往是大部分的程序设计课程没有涉及的,但是对于我们理解相关的技术又十分重要,本文将对几种相关技术和隐藏在动机背后的细节做简要的阐述,算是抛砖引玉。 COM技术于1993年首次发布,称得上是微软技术的一个里程碑,其意义在于使组件编程化得以实现。COM技术最初的思想起源于将类做成可重用的二进制组件,把类的实现和接口分离以便把类的实现封装到二进制防火墙的背后,而这道防火墙以VPTR和VTBL的形式保证了这个防火墙的不变性。.NET技术则在语言层面上支持了基于 阅读全文
posted @ 2010-04-21 14:22 SolidMango 阅读(2057) 评论(6) 推荐(2) 编辑