著名Channel 9 主持人Robert Green 采访微软一站式示例代码库录像
摘要:2011-07-07 09:52 by Jialiang, 1029 visits,收藏,编辑应Channel 9邀请,作为微软一站式示例代码库项目经理之一的Mei Liang对话Channel 9著名主持人Robert Green,并介绍了一站式示例代码库,示例代码浏览器,及示例代码浏览器Visual Studio扩展。http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-All-In-One-Code-Framework微软一站式示例代码浏览器旨在为开发人员带来方便的的示例代码搜索,下载和管理体
阅读全文
.NET简谈特性(代码属性)
摘要:由于很久没有写关于基础知识的东西了,今天来总结一下关于.NET平台中的代码属性的概念;只是基础介绍,文章的本意是带领初学者学会使用特性,而不是讨论高深的底层技术;[王清培版权所有,转载请给出署名]1.什么叫特性Attribute特性对一般.NET编程人员来说并不陌生,自从我们开始接触C#语言的时候,我们多多少少已经接触了关于特性的使用;但是对于初学者来说真的不明白特性的意义,特性到底是属于类还是类实例,这些概念搞不清楚对理解代码的逻辑真的很顺利;这篇文章我将带您来了解特性的作用,其实特性的真的很方便;至少我认为自从我懂特性之后,我的代码便的更加的人性化,程序的结构清晰易懂,所以本人在写代码的时
阅读全文
SharePoint 2007运行 Edit In DataSheet 时在IE 6下页面卡死的分析和处理方法
摘要:摘要 在IE 6打开”Edit In Datasheet” 在sharepoint 2007的list页面时,会造成页面卡死的情况,CPU 这时的运行占到50% +以上,但是在IE 8打开时没有问题。原因分析 造成这个原因时,我们分析,在MasterPage页面,可能是我们写的Js造成的,但是,把所有的JS注释掉后,这个问题依然存在,己是把所有自己写的css 注释掉后,这个问题没有了,然后就是一块代码一块代码的调试,终于找到造成这个问题的代码。如下:1#main-content-block {2margin:0 auto;3padding:20px 0 20px 0;4width:100%;5
阅读全文
.NET简谈互操作(七:数据封送之介绍)
摘要:互操作系列文章:.NET简谈互操作(一:开篇介绍).NET简谈互操作(二:先睹为快).NET简谈互操作(三:基础知识之DllImport特性).NET简谈互操作(四:基础知识之Dispose非托管内存).NET简谈互操作(五:基础知识之Dynamic平台调用).NET简谈互操作(六:基础知识之提升平台调用性能).NET简谈互操作(七:数据封送之介绍)我们继续.NET互操作学习。互操作的基础知识已经差不多完了,当然一篇小小的文章很难全面的讲述互操作的方方面面,本人只是总结出关键的地方好让我们能入个门,在后期如果想要更深入的学习,肯定需要一本详细而全面的书籍才行。想要精通.NET互操作当然也少不了
阅读全文
C# utf-8编码时转换成shift-jis时出现乱码问题的处理
摘要:最近在做项目时遇到导出CSV文件时,因客户方要求导出CSV文件一定要是shift-jis编码的CSV文件,而我们数据库存储时是unicode储存的,所以导出时会有很多?的编码,这是因为:借住码表来解释:Shift_JIS0123456789ABCDEF00NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI10DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS20SP!"#$%&'()*+,-./300123456789:;<=>?40@ABCDEFGHIJKLMNO50PQRSTUVWXYZ
阅读全文
由 var grid = new WebGrid(Model, canPage: true, rowsPerPage: 2) 了解到的新的参数写法
摘要:在 网上看到var grid = new WebGrid(Model, canPage: true, rowsPerPage: 2) 这种写法,这种.net2.0,3.X 下不支持的写法。在4.0 有了以下的写法: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ConsoleApplication1 7 { 8 class Program 9 {10 //11 static string GetString(string a,
阅读全文
.NET简谈互操作(五:基础知识之提升平台调用性能)
摘要:互操作系列文章:.NET简谈互操作(一:开篇介绍).NET简谈互操作(二:先睹为快).NET简谈互操作(三:基础知识之DllImport特性).NET简谈互操作(四:基础知识之Dispose非托管内存).NET简谈互操作(五:基础知识之Dynamic平台调用).NET简谈互操作(六:基础知识之提升平台调用性能)我们继续.NET互操作学习。本篇文章我们将来学习互操作基础知识中的最后一个知识点“提升平台调用的性能”;在于非托管函数进行互操作的过程中,由于涉及的技术因数众多,因此程序的性能会受到这些因素的影响导致性能下降,本篇文章将来介绍在平台调用过程中提升性能的一些设计和编码方面的技巧;[王清培版
阅读全文
.NET简谈互操作(五:基础知识之Dynamic平台调用)
摘要:互操作系列文章:.NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用) 我们继续.NET互操作学习。在上篇文章中我们学习了关于托管与非托管内存Dispose(释放)问题;下面我们继续学习基础知识中的Dynamic(动态)平台调用技术;在前几篇文章中,我们都是采用按部就班的方式来调用非托管代码的,先定义非托管代码的托管定义,然后用DllImport来标识相关调用约定;这篇文章我们将介绍怎么通过动态的方
阅读全文
.NET简谈互操作(四:基础知识之Dispose非托管内存)
摘要:互操作系列文章:.NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用)我们继续.NET互操作学习。前一篇文章中我们学习了基础知识中的DllImport关键特性;我们继续学习基础知识中的内存释放相关技术;在托管与非托管内存之间,是不允许直接调用进行相互操作的,这点我相信稍微有点.NET技术基础的人都能了解;上一篇文章中有位朋友提出了些问题,刚好我们在这里就当是学习来粗略的分析一下,问题大概是这样的:[
阅读全文
步步为营 C# 技术漫谈 七、事务处理(Transaction)
摘要:概述事务必须具有原子性、一致性、隔离性和持久性。虽然首字母缩写词容易记忆,但是每个词的含义不是很明显。以下是简要说明。 ● 原子性(Atomicity):原子性可确保要么执行所有更新,要么什么也不发生。由于事务中的原子性保障,开发人员不必编写代码来处理更新成功而另一个没有成功的情况。 ● 一致性(Consistency):一致性意味着事务的结果使得系统保持一致状态。在事务启动之前,数据保持有效的状态,这与事务结束时一样。一致性还确保了事务必须使得数据库保持一致状态,如果事务的部分操作失败,则其他部分也必须回到原来的状态。 ● 隔离性(Isolation):多个用户可能同时访问同一个数据库。使用
阅读全文
.NET简谈互操作(三:基础知识之DllImport特性)
摘要:.NET简谈互操作(三:基础知识之DllImport特性) 2011-06-27 15:36 by 南京.王清培, 787 visits, 收藏, 编辑我们继续.NET互操作学习,上一篇文章中我们介绍了托管代码怎么与非托管代码C++之间的互操作;要想在托管代码中成功的进行非托管调用,要注意的细节还是很多的,下面我们就来介绍一下,在互操作方面托管代码要注意的必不可少的代码申明,为我们下面的互操作打下基础;在.NET平台里面开发我们还是很幸运的,微软为我们做了很多很方便的东西,我们只需要了解一下就能快速上手;在互操作里面我们只需要借助DllImport特性就能很好的切入到非托管代码中,微软为我们.
阅读全文
深度训练(DotNet专场)
摘要:随笔档案 - 2011年6月 .NET简谈互操作(二:先睹为快) 2011-06-24 12:54 by 南京.王清培, 1134 visits, 网摘, 收藏, 编辑 摘要:我们继续.NET互操作学习,为了揭开互操作的神秘面纱,今天这篇文章我们就来先睹为快,让我们先来做个例子,基础的东西,我们陆续进行讲解;由于互操作牵扯到的东西非常多,比较复杂,我们要循环渐进的学习,为了给大家有一定的吸引力,让我们一边看一边能动手做起来;本篇文章用VisualStudio2010进行演示,将非托管代码暴露在我们眼前,它对我们来说不在有神秘感,我们通过.NETP/invoke(平台调用)很方便的进行调用,可能
阅读全文
温故而知新:Delegate,Action,Func,匿名方法,匿名委托,事件
摘要:一、委托Delegate一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本的数据类型(或者没有参数),比如publicvoidHelloWorld(){Console.WriteLine("HelloWorld!");}publicvoidHelloWorld(stringname){Console.WriteLine("Hello,{0}!",name);}但是有些时候,我们希望把一个方法本身当做参数传递给另一个方法,比如myObject.callMethod(HelloWorld);在没有委托之前,这是一
阅读全文
C#发挥匿名委托的威力
摘要:这几天研究了一下Linq,C# 3.0中的“扩展方法”特性为IEnumerable<T>增加了诸如Where、Select等查询方法,这使得“语言集成查询”成为顺其自然的事情。而C#3.0中Linq的实现也是建立在C#2.0的匿名委托的特性之上。今天,我尝试在C#2.0中使用匿名委托模拟C#3.0中Where、Select等查询方法的实现。我将所有的查询方法作为静态方法在GenericHepler静态类中实现。之前,我们先定义泛型委托: public delegate TResult Func<T, TResult>(T source);这个委托在后面的实现中需要用到。
阅读全文
Lambda 表达式 和 Predicate 泛型委托
摘要:Lambda 表达式 和 Predicate 泛型委托 2011-01-06 14:36 by 田志良, 2744 visits, 收藏, 编辑1. Lambda表达式 “Lambda” 表达式”是一个匿名函数,用于创建委托或表达式树类型。 “=>”为Lambda 运算符,读为“goes to”。Lambda 运算符左边是“输入参数”,右边是“表达式或语句块”,如下所示:1delegate int del(int i);2static void Main(string[] args)3{4del myDelegate = x => x * x;5int j = myDelegate
阅读全文
delegate,event, lambda,Func,Action以及Predicate
摘要:1. delegate 委托可以理解为cxx 语言中的函数指针,标示了方法调用的回调函数的规范。强类型,便于编译时检查是它的最大优点,从此可以和void * 说再见了。2. event 事件用以delegate委托声明事件,标示响应该事件的回调函数必须符合其声明委托的定义3. lambda 表达式在.net世界中表现为匿名委托,之前又要提到匿名方法(函数)01public class Test{02public void delegate Close(); //声明一个无参无返回值的委托03public event Close CloseEvent; //声明一个Close对应事件04}05s
阅读全文
C# List<T>.Sort排序
摘要:定义一个类型 public class tt { public int id; public string name; public string sex; }测试List<tt> list = new List<tt>(); for (int i = 5; i > 0; i--) { tt t = new tt(); t.id = i; t.name = "name" + i; t.sex = "sex" + i; list.Add(t); } StringBuilder sb = new StringBuilder();
阅读全文
SpringBird Erp系统快速开发平台
摘要:SpringBird Erp系统快速开发平台基于通用的三层架构,数据访问层采用了无Sql注入风险的IBatis.net,表现层采用了微软最新的Asp.net mvc3 Razor模板解析引擎和轻量级的Jquery easyui,服务层采用了接口编程,整体使用成熟可靠的Ioc、Aop框架Spring.net进行服务层、数据访问层和表现层之间的整合。讨论qq:2262366309 工欲善其事,必先利其器。而SpringBird代码生成工具就是必不可少的利器。 1、SpringBird代码生成器的分层架构。Contract目录中放服务接口,Dao目录中放数据访问Dao,Entity目录中放数据实体.
阅读全文
步步为营 C# 技术漫谈 六、线程控制(Thread)
摘要:概论 多线程在构建大型系统的时候是需要重点关注的一个重要方面,特别是在效率(系统跑得多快?)和性能(系统工作正常?)之间做一个权衡的时候。恰当的使用多线程可以极大的提高系统性能。什么是线程? 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。在Win32环境中常用的一些模型。 ·单线程模型 在这种线程模型中,一个进程中只能有一个
阅读全文
用路由 Route 优化页面地址
摘要:用路由 Route 优化页面地址刚看到某人发的关于 Route 的文章,就把我今天下午发到团队的一封邮件转发过吧。全文如下,有修改:优化地址无非就两个选择URLRewrite和MVC里的路由(Route)关于URLRewrtie和Route的区别,可参考:http://www.infoq.com/cn/news/2008/11/urlrewriting从.NET 3.5 SP1起,微软把MVC路由单独抽出来,放到System.Web.Routing下, WebForm程序从此可以用上路由了..NET 4对路由做了改进,使用起来很简单..我们的项目都是.NET 4的, SEO以后肯定是要做的,所
阅读全文