摘要:
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式。在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间、集合、字典的处理。 一、JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。 JSON是“名值对”的集合。结构由大括号'{}',中括号'[]',逗号',',冒号':',双引号& 阅读全文
随笔分类 - [01].NET技术
一起谈.NET技术,Visual Studio插件GDIWatch实现浅析
2011-09-02 00:18 by 狼人:-), 283 阅读, 收藏, 编辑
摘要:
GDIWatch 是Virgo Software 开发的一个for Visual Studio的插件,支持2005/2008/2010,它的功能主要是在一个类似watch的窗口上显示被调试程序的GDI对象的当前状态,比如HBRUSH的颜色,大小,图片等等,并且它还能在调试过程中高亮显示有变化的项目,方便程序员跟踪调试画图函数。 下载地址: http://www.gdiwatch.com/GDIWatch.msi (小声说一下,crack在文中提供了) 这是官方的截图: 顺便再贴一个 GDIWatch 在 VS2010上使用的效果图: 感觉还不赖,使用起来也挺方便的,... 阅读全文
一起谈.NET技术,使用VS2010为Windows7编写一个杀手级WPF应用
2011-09-02 00:18 by 狼人:-), 266 阅读, 收藏, 编辑
摘要:
当你使用最新的操作系统,在最新的框架上构建应用程序,并且使用最新版本的Visual Studio的时候,你可以使用许多令人兴奋的新特性。你可以学习一下怎样使用Visual Studio 2010, WPF 4 和 the Windows API Code Pack给你的应用程序添加Windows 7 UI。 Windows 7 UI有很多令人兴奋的元素,例如:全新的任务栏,或者跳转列表,视觉体验本身并不属于应用程序的范畴,但是它是应用程序体验的重要组成部分。作为一个WPF开发者,你可以把那些元素添加到你的Windows7应用程序中,随心所欲地定制它们在主窗口内部和外部的行为。 使... 阅读全文
一起谈.NET技术,谈谈C# 4.0新特性“缺省参数”的实现
2011-09-02 00:18 by 狼人:-), 267 阅读, 收藏, 编辑
摘要:
C#4.0关于缺省参数的新特性,相信大家都不会陌生。所谓缺省参数,顾名思义,就是在声明方法的某个参数的时候为之指定一个默认值,在调用该方法的时候如果采用该默认值,你就无须指定该参数。和很多语言层面特性(语法糖)的实现一样,缺省参数也是编译器为我们玩的一个小花招。缺省参数最终体现为两个特殊的自定义特性OptionalAttribute和DefaultParameterValueAttribute 。 目录 一、缺省参数的用法 二、实现缺省参数的两个特性:OptionalAttribute和DefaultParameterValueAttribute 三、直... 阅读全文
一起谈.NET技术,System.Diagnostics命名空间里的Debug类和Trace类的用途【转】
2011-09-02 00:18 by 狼人:-), 225 阅读, 收藏, 编辑
摘要:
在 .NET 类库中有一个 System.Diagnostics命名空间,该命名空间提供了一些与系统进程、事件日志、和性能计数器进行交互的类库。当中包括了两个对开发人员而言十分有用的类Debug类和Trace类。本文介绍了这两个类的一些基本用途,旨在提高广大开发人员的开发效率。 目录 使用Debug类来帮助调试 Debug类和Trace类的区别 使用Trace类来做程序日志 小结 参考资料 使用Debug类来帮助调试 调试程序对每个程序员来说是家常便饭。可是我们会经常遇到一些情况让我们头疼,例如: 当我们在开发一个界面控件的时候,简单的设断点会增加Paint事件... 阅读全文
一起谈.NET技术,分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发
2011-09-02 00:18 by 狼人:-), 185 阅读, 收藏, 编辑
摘要:
在许多年前,“语言”就等同于“平台”,例如C,C++以及最早的Ruby和Python等等。但是随着技术发展,出现了一些通用的平台,例如.NET和Java,逐渐这些平台上的语言也越来越多。再后来,某些语言在不同平台上的实现也越来越多,事情也变得有些复杂。技术在发展,但是从目前社区的讨论中,我发现许多朋友的观念还没有跟上。简单地说,如今的观念,一定要从“语言即平台”切换成“语言及平台”,当分清“语言”和“平台”这两个不同事物之后,许多问题才能讨论地清楚。 例如我写过一个太监系列《Why Java Sucks and C# Rocks》,其中谈的是C#和Java两个“语言”而不是两者的“平台... 阅读全文
一起谈.NET技术,原创企业级控件库之图片浏览控件
2011-09-02 00:18 by 狼人:-), 267 阅读, 收藏, 编辑
摘要:
在上两篇:我介绍了原创企业级控件库之组合查询控件 和原创企业级控件库之大数据量分页控件,受到了很多朋友的支持,给了我很大的动力,在此我特表感谢。有的朋友要求把源码提供上来,我在第一篇就讲了,源码会在我这个系列讲完之后提供,大家先别着急,如果你确实需要,可以时常关注此系列,谢谢大家。其实,在系列文章中,我已把核心代码贡献出来了。学习有时是参考别人与实践别人的劳动成果的过程,你光把别人的代码拿过来用用,不研究其实质,进步很慢。 这篇我将给大家介绍:企业级控件库之图片浏览控件。 摘要 我想大家用过或听说过ACDSee 对于图片浏览的强大功能,我接下来介绍的控件与ACDSee相比,可谓... 阅读全文
一起谈.NET技术,NVelocity for ASP.NET MVC
2011-09-02 00:18 by 狼人:-), 267 阅读, 收藏, 编辑
摘要:
在我的这篇博文中,有这么一段话:“我一直在想,有没有办法可以单独限制View中的代码的访问权限,类似于trust level,只是这个trust level是用来限制模板中的代码。”。有读者johngeng问,为什么要用trust level来锁住view,他不是很理解。我的本意是,希望在view中,开发人员只能写某一些特定功能的代码,调用某一些特定开放的API,对于大部分安全级比较高的代码,比如读写文件等API或类库,不允许在view当中使用。这对于我们将模板开放出来,在线提供给我们的用户去修改的需求下是非常重要的。而目前,不管WebForm还是Razor,都是非常自由的模板,在View.. 阅读全文
一起谈.NET技术,C#4.0新特性-"协变"与"逆变"以及背后的编程思想
2011-09-02 00:18 by 狼人:-), 196 阅读, 收藏, 编辑
摘要:
在《上篇》中我们揭示了“缺省参数”的本质,现在我们接着来谈谈C#4.0中另一个重要的新特性:协变(Covariance)与逆变(Contravariance)。对于协变与逆变,大家肯定不会感到陌生,但是我相信有很多人不能很清晰地说出他们之间的区别。我希望通过这篇文章能够让读者更加深刻的认识协变与逆变。但是也不排除另一种可能,那就是读者这篇文章你对这两个概念更加模糊。文章一些内容仅代表个人观点,如有不妥,还望指正。 目录 一、两个概念:强类型与弱类型 二、委托中的协变与逆变的使用 三、接口中的协变与逆变的使用 四、从Func<T... 阅读全文
一起谈.NET技术,通过自定义配置实现插件式设计
2011-09-02 00:18 by 狼人:-), 261 阅读, 收藏, 编辑
摘要:
软件设计有一句话叫做约定优于配置,很多人将其作为拒绝配置的理由。但是,约定和配置的使用,都有个度的问题。我不赞为了所谓的扩展性,为你的应用设计一套只有你自己才能看懂的配置体系。但是,在很多场景中,配置是提供应用灵活度的首要甚至是唯一途径。对于框架的设计者来说,对于配置的驾驭是一项基本的技能。 可能你很少使用自定义配置,可能你理解的自定义配置仅仅限于AppSetting,不过我想你应该对于System.Configuration这个命名空间下的几个基本的类型有基本的了解。比如ConfigurationSection、ConfigurationElement、ConfigurationEl... 阅读全文
一起谈.NET技术,ASP.NET MVC 3 概述
2011-09-02 00:18 by 狼人:-), 201 阅读, 收藏, 编辑
摘要:
原文地址:http://www.asp.net/mvc/mvc3 导言 ASP.NET MVC3 在 ASP.NET MVC 1 和 2 的基础上,增加了大量的特性,使得代码更加简化,并且可以深度扩展。这篇文章提供包含在此次发布中的许多新特性的说明,分为以下部分: Razor 视图引擎
支持多视图引擎
Controller改进
JavaScript和 Ajax
Model验证的改进
依赖注入 Dependency Injection 的改进
其他新特性 Razor 视图引擎 ASP.NET MVC3 带来了一种新的名为 Razor 的视图引擎,提供了下列优点: Raz... 阅读全文
一起谈.NET技术,SharePoint 2010中托管元数据
2011-09-02 00:18 by 狼人:-), 220 阅读, 收藏, 编辑
摘要:
1.介绍 托管元数据是一个集中管理的术语的分层集合,您可以定义这些术语,然后将其用作 Microsoft SharePoint Server 2010 中项目的属性。使用托管元数据有下面几个好处: 统一术语:托管元数据可促使更加一致地使用术语,以及更加一致地使用添加到 SharePoint Server 项目中的托管关键字。我们可以根据企业的需要预定义术语,并仅允许授权用户添加新术语。还可以禁止用户向项目中添加他们自己的托管关键字,并要求他们使用现有托管关键字。这样使企业信息的元数据更加准确和统一标准。 更佳的搜索结果:这些托管的元数据可以更好的支持搜索。 动态:可以动态... 阅读全文
一起谈.NET技术,.NET控件Designer架构设计
2011-09-02 00:18 by 狼人:-), 258 阅读, 收藏, 编辑
摘要:
总体结构 Designer总体上由三大部分组成:View,ViewModel和Model,这个结构借鉴了流行的MVVM模式。这三部分的职责分工是: View 负责把ViewModel以图形的方式展现出来,它主要在处理画法。View适合用xaml来表达,对于某些复杂的layout,仍然会需要写一些code,但这些code不涉及业务逻辑。和MVVM的区别是,我们只是在简单输入的情况下,采用了Behavior模式,对于复杂的输入,由于判断用户的意图需要参考许多其它信息,可能要用到很多Service,或者查阅很多的状态信息,这些代码写在View端不合适,我们就直接把事件发给了Vie... 阅读全文
一起谈.NET技术,关于C# 中的Attribute 特性
2011-09-02 00:18 by 狼人:-), 208 阅读, 收藏, 编辑
摘要:
Attribute与Property 的翻译区别 Attribute 一般译作“特性”,Property 仍然译为“属性”。 Attribute 是什么 Attribute 是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标。 简单的说,Attribute就是一种“附着物” —— 就像牡蛎吸附在船底或礁石上一样。 这些附着物的作用是为它们的附着体追加上一些额外的信息(这些信息就保存在附着物的体内)—— 比如“这个类是我写的”或者“这个函数以前出过问题”等等。 Attribute 的作用 特性Attribute 的作用是添加元数... 阅读全文
一起谈.NET技术,Silverlight同步(Synchronous)调用WCF服务
2011-09-02 00:18 by 狼人:-), 153 阅读, 收藏, 编辑
摘要:
Silverlight的RIA应用中访问远端的WebService或WCF服务,都是通过异步线程模式调用的。在某些情况下我们的调用是需要同步进行,虽然Silverlight没有内置同步线程模式调用远端服务接口,但是我们可以通过多线程的处理来伪装出同步调用的实现。在.NET Framework的多线程编程中提供了丰富的线程接口,其中AutoResetEvent和ManualResetEvent在多线程编码中最为常用,本文将介绍如何通过AutoResetEvent的线程等待特性实现Silverlight同步调用远端WCF服务。 一、定义WCF服务 为了演示同步调用WCF服务的实现,提... 阅读全文
一起谈.NET技术,云计算-从基础到应用架构系列-云计算的演进
2011-09-02 00:18 by 狼人:-), 275 阅读, 收藏, 编辑
摘要:
开篇 本篇是主要讲述云计算的发展历程,由于云计算本身提出来也不是太久,并且其实云计算也是经过前人的一些经验总结提出,所以我们对之前的一些计算机的发展史有个一定的了解,那么对云计算的理解就更深入了,当今信息化技术的飞速发展,用户通过浏览器完成信息服务的访问,促进了从传统的数据中心的模式转变到云计算的模式的动力,随着服务器虚拟化,并行处理,向量处理等技术的飞速发展,推动了现有企业应用模式的转变,本文将会针对这些描述进行阐述,加深对云计算的理解,当然如果您在本文中发现错误之处,那么请您批评指出,谢谢。 摘要 上一篇《云计算-从基础到应用架构系列-云计算的概念》我们讲述了关于云计算... 阅读全文
一起谈.NET技术,使用 IIS Express 取代 ASP.NET Development Server
2011-09-02 00:18 by 狼人:-), 283 阅读, 收藏, 编辑
摘要:
原文地址:VS 2010 SP1 (Beta) and IIS Express IIS Express 是一个IIS7.5 对于开发者进行优化的免费版本,它既容易使用,又像 IIS 一样强大。 少于 5 M 的安装文件,轻量级又容易安装。
在 Visual Studio 中进行调试或者运行的时候不需要管理员账号
支持完全的 Web Server 特征,包括 SSL, URL 重写,和其他的 IIS7 模块
支持和允许扩展模块和 IIS7.x 中 web.config 支持的设置。
可以与 ASP.NET Development Server 同时安装和使用,而互不影响。
支持 Wi... 阅读全文
一起谈.NET技术,Windows 内核(WRK)简介
2011-09-02 00:18 by 狼人:-), 349 阅读, 收藏, 编辑
摘要:
引子 WRK 是微软于 2006 年针对教育和学术界开放的 Windows 内核的部分源码,WRK(Windows Research Kernel)也就是 Windows 研究内核,在 WRK 中不仅仅只提供了 Windows 内核模块的部分代码,其还提供了编译工具,
也就是通过这个编译工具,你可以将你的 WRK 编译成一个 EXE 文件,也就是内核可执行模块,然后你可以利用这个 EXE 文件来取代操作系统本身的内核,这样的话,下次开机的时候操作系统所加载的内核就是您编译的那个 EXE 了。 工具软件 Intel x86 CPU;VMware 6.5;Windows Serve... 阅读全文
一起谈.NET技术,如何让ASP.NET默认的资源编程方式支持非.ResX资源存储
2011-09-02 00:18 by 狼人:-), 169 阅读, 收藏, 编辑
摘要:
之前写了两篇文章《.NET资源并不限于.ResX文件》(上篇、下篇),介绍了如何通过自定义ResourceManager的方式来扩展资源的存储形式。在那篇文章中,我定义了三种基于独立文件的ResourceManager(ResXResourceManager、BinaryResourceManager和XmlResoureManager)分别实现对.ResX,.Resource和.xml三种资源文件的访问。在本篇文章中我们将实现自定义ResourceManager和ASP.NET之间的集成,让ASP.NET现有的资源编程方式支持我们自定义的ResourceManager。 一、回顾一下之... 阅读全文