自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈希章@中国

心有多宽,路就有多宽

  • 博客(1010)
  • 收藏
  • 关注

原创 通过t4模板结合XML定义文件生成MVVM中的Model Entity Class 代码

在之前的两篇文章,我针对MVVM项目实践中如何简化Model和ViewModel类型的编码工作,提供了两种不同的方法。它们分别是 如何利用AOP简化MVVM中Model和ViewModel的设计 http://www.cnblogs.com/chenxizhang/archive/2011/06/24/2089392.html 如何利用Interception简化MVVM中的Model和V

2011-06-25 11:14:00 2385

原创 XMLDatabase项目已经发布到nuget gallery

如果你在使用Visual Studio 2010,你应该了解nuget。如果你还是不了解,可以参考下面这些介绍 http://zzk.cnblogs.com/s?w=nuget   今天介绍一下,之前我开发过的一个开源数据库项目(XMLDatabase)也已经发布到了unget gallery,有兴趣的朋友可以在项目中使用 该项目的永久位置在:http://xmldatabase.codeplex

2011-06-25 06:41:00 1340

原创 如何利用Interception简化MVVM中的Model和ViewModel的设计

这一篇是“如何利用AOP简化MVVM中Model和ViewModel的设计”一文的姊妹篇。阅读本文之前,请一定要先阅读上一篇,否则你可能对有关问题理解不深。   上一篇说到,我们可以用AOP的方式,具体来说,我们使用了一个第三方的框架(PostSharp)来实现了代码注入。PostSharp的方式是静态注入,它是需要改变IL代码的。 请看下面这个截图,Customer类型里面的IL代码其实是被改过

2011-06-24 15:55:00 1365

原创 如何利用AOP简化MVVM中Model和ViewModel的设计

这一篇谈一个MVVM中的一个虽然小但却很实际的问题,就是如何简化Model和ViewModel的设计。这是我们在项目中总结提炼的一些做法。 【备注】关于MVVM的概念,并不是本文的重点。如果你对MVVM还不熟悉,可以参考这里。关于MVVM与之前的MVP,MVC设计模式的渊源和比较,还有目前主流的几个MVVM框架的大致情况,我最近可能再会抽时间另外整理一篇,有兴趣的朋友关注一下。 有用过MVVM的

2011-06-24 14:42:00 1741 1

原创 在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构

这是项目中一个页面上的一个功能。我们需要在界面上通过一个TreeView控件显示一个递归的树状结构,也就是说会很多层嵌套的节点,而且层数是不确定的。 这个功能,可以通过HierarchicalDataTemplate来很方便地实现 1. 业务实体 作为举例,我定义了一个大家都很熟悉的Folder类型,即文件夹。我们都知道,文件夹又可以包含子文件夹,而且可以多层嵌套。所以,这是一个递归的结构体。

2011-06-22 15:20:00 1253

原创 WCF技术的不同应用场景及其实现分析(续)

上一篇 我总结介绍了WCF技术的背景,核心要素,和典型场景,目的是希望让大家更好地掌握WCF技术,并且在工作中知道如何选择。 由于篇幅较长,这一篇继续写完第二部分。 应用场景: WCF 从发布到现在的将近5年左右的时间,经过了多次增强和改进,从最开始单纯的SOAP Service的方式,发展出来其他多种应用场景,分别是 1. SOAP Services 2. WebHttp Services 3

2011-06-21 11:02:00 2009 1

原创 WCF技术的不同应用场景及其实现分析

这一篇文章,是总结一下WCF技术,以及基于这个技术发展出来的几个典型应用场景,并且我将尝试对这些不同的WCF实现的原理进行一些比较分析。 关于WCF这个技术的基本概念,如果你不是很清楚,可以参考一下有关的文档 微软开发者中心 http://msdn.microsoft.com/en-us/netframework/aa663324   我的博客中先前也有很多这方面的介绍 http://zzk.cn

2011-06-21 05:53:00 3226

原创 如何理解IIS 7的两种应用程序池的管道模式(Managed Pipeline Mode)

之前我写过一篇博客文章,讲的是.NET 4.0的应用程序部署问题。有网友问到一个相关问题就是:如何理解IIS 7中的应用程序池的管道模式,尤其是如何理解“托管模型(integrated mode)”,今天特意再写一篇文章来介绍这个问题。   IIS 7是微软最新版本的IIS版本,从Vista开始提供,目前在Vista,Windows 7,Windows Server 2008中提供。这个全新的版本

2011-06-19 03:18:00 3217

原创 RIA Service 的 SOAP EndPoint

越来越多的朋友都在使用Silverlight开发应用程序,其中我们常用的还会有一个特殊的服务,就是RIA Service,具体来说,它是一个所谓的Domain Service. 关于这个服务的基本概念,如果有不清楚,请参考下面这个网址 http://www.silverlight.net/getstarted/riaservices/   今天这一篇是要谈谈一个问题,就是如何让RIA Servic

2011-06-14 10:36:00 1341

原创 在jquery中处理带有命名空间的XML数据

这一篇记录一个小技巧。 如果你在做AJAX应用,则你可能经常会用到jquery(或者其他框架)处理服务返回的数据。如果用Jquery处理Json格式,将是相当方便的。但不幸的是,很多服务返回的数据仍然是XML格式的。 jquery对于xml这种数据的处理是内置支持的,这一点没有任何问题。但前提是返回的数据没有带任何命名空间。例如下面这份数据"1.0" encoding="utf-8" ?>

2011-06-12 10:04:00 861

原创 再谈谈ADO.NET Data Service 数据格式(xml和json)

去年的时候,我写过一篇文章,介绍如何让ADO.NET Data Service返回json数据格式。如果有兴趣,可以参考下面这个链接 http://www.cnblogs.com/chenxizhang/archive/2010/10/27/1862898.html   近日被网友问起,为什么这个成熟的框架(ADO.NET Data Service, 现在新版本里面叫WCF Data Servic

2011-06-12 05:10:00 1192

原创 RIA Service中对于递归实体类型处理的问题及解决方案

故事是这样开始的:   我们在开发一个Silverlight应用程序的时候使用到了RIA Service,我们需要通过该服务公开一个对文件夹的查询操作。 为此,我们建立了如下的一个实体类型using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Ru

2011-06-10 03:32:00 1067

原创 【SSAS】Model-First Cube 设计的最佳实践

【备注】这是最近在一个讲座中的例子,整理出来给大家参考   相关名词解释 SSAS: SQL Server Analysis Service。 这是微软SQL Server BI(商务智能)平台的一个核心组件,它可以基于UDM(统一维度模型)构建多维数据集和挖掘模型,支持OLAP(在线分析)和Data Mining(数据挖掘) Cube: 多维数据集 这是SSAS项目设计的一个核心目的,创建多维

2011-06-09 10:11:00 1413

原创 常见SQL Server导入导出数据的几个工具

在我们的日常工作中,与数据库打交道的机会越来越多。这一篇文章我整理一下常见的SQL Server导入导出数据的几个工具   1. 数据导入导出向导 这是一个可视化的工具,我放在首位,是由于它可以极大灵活地满足导入导出功能,而且是所见即所得的,易于使用。 启动数据导入导出向导的方式有好多种,我自己习惯直接通过如下的命令启动(开始=》运行) dtswizard(顾名思义,它是一个wizard——向导,

2011-06-09 08:33:00 2116 1

原创 【VSTO】Office开发中遇到的兼容性检查问题

事情是这样的:   我们的一个应用程序需要通过VSTO代码方式操作本地的Excel,包括打开工作簿,生成新的工作簿,设置数据,并且保存为新文件等等。 该程序在Excel 2003的环境下没有任何问题,但是在Excel 2007或者是Excel 2010中就老是遇到中途被卡住的状况。 究其原因,是因为我们想将文件继续保存为Excel 2003格式,但Excel 2007或者Excel 2010默认会

2011-06-08 04:23:00 2471

原创 如何在SQL Server中使用正则表达式

最近处理客户一个需求,是要在SQL Server中对某个列进行校验,使用正则表达式保证该列必须是一个邮件地址。 我们都知道,SQL Server的T-SQL中默认是没有这样的语法的。找了一些资料,下面这个例子还不错,分享给大家参考 http://www.codeproject.com/KB/database/xp_pcre.aspx 大致步骤是 1.下载他提供的那个压缩包,里面有源代码和安装脚本

2011-05-27 14:24:00 5229

原创 SQL Server 2008 R2的StreamInsight 【文章转载】

下面文章转载自:http://blogs.msdn.com/b/stbcblog/archive/2011/04/18/streaminsight-on-sql-server-2008-r2.aspx   StreamInsight是SQL Server 2008 R2的新模块。它是一个基于.NET的平台,用于复杂事件处理(CEP,Complex EventProcessing),即对于来自多数据

2011-05-21 13:23:00 1090

原创 如何在SSIS的脚本组件中访问变量

这是一个小问题,我们在SSIS的设计中很多地方都会用到变量,我习惯性地将“变量”和“表达式”称为SSIS的灵魂,虽然不见得绝对准确,但它们确实是保证一个SSIS包灵活性的根本。 同时,我们可能也会在数据流任务中添加“脚本组件”,用我们熟知的C#或者VB.NET编写一些数据转换处理的逻辑。这里可能就有一个需求,我们希望在脚本组件中访问变量(读或者写),但默认情况下,这个需求并不是那么容易实现。我们来

2011-05-21 12:32:00 1939

原创 How to: Handle Data Conflicts and Errors 【转载】

MSF(Microsoft Sync Framework)是微软的一套数据同步框架,其中一个典型场景就是实现本地数据库与远程数据库之间的数据同步,这样可以比较容易实现脱机应用程序的架构   有关MSF的一些具体内容,可以参考微软的官方网站 http://msdn.microsoft.com/en-us/library/bb902854.aspx   这一篇特别摘录一下有关数据同步时的冲突检测和处理

2011-05-10 14:34:00 693

原创 Console的默认Encoding问题

有时候我们需要在Console程序中,切换Console的OutputStream,大致的做法如下 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace ConsoleApplication1{ cl

2011-05-07 02:21:00 1476

原创 IE9网站模式 技术白皮书

微软最近发布了“IE 9网站模式技术白皮书”,给大家参考一下吧 也可以下载附件:IE9_固定网站_技术白皮书.rar ************************************************************************ IE9固定网站功能简介 简单来说,IE9固定网站(Pinned Website)就是通过几行HTML代码(标签),将网站应用访问方

2011-05-04 01:01:00 594

原创 細微之處看看mysql與sql server的一些差別

以前不怎麼使用mysql,最近有些事情,需要用到php和mysql。目前使用的版本是5.5.1 發現mysql與sql server有很多不同。可能逐漸地會整理一些文檔出來給大家參考。   今天第一篇說說,update操作的差異。在mysql中,如果update語句要設置的新值,與數據庫中當前的值是一樣的,其實意味着無需更改。這種操作是不會被執行的。 為什麼會發現這個問題呢?因為我在php程序中,

2011-04-24 06:42:00 624

原创 如何通過編程獲取列表項目的附件以及多行文本中的文件內容

我們都知道在SharePoint的列表中,可以有多種方式附加文件。例如下圖所示,在一個列表項目上,我們添加了多行文本字段,在該字段中,添加了兩個文件,並且我們在整個列表項目上,也添加了兩個附件。 那麼對於這些文件的編程訪問,是否有比較標準和簡單的方法呢?今天我就整理一下給大家參考參考   那麼,首先來看一下,如何獲取多行文本中的附件內容呢? 我們可以先看一下,多行文本裡面的內容是怎麼樣的 很顯

2011-04-23 03:29:00 675

原创 Excel 2007 automation on top of a Windows Server 2008 x64

今天在一个客户这边出来一个windows service的问题。这个service需要启动excel程序,并且对一些excel文件做一些操作。 环境是:windows server 2008 x64+Excel 2007 总是报告错误:(类似下面这样) Service cannot be started. System.Runtime.InteropServices.COMException (0

2011-04-22 08:25:00 1026

原创 做软件也是要有点追求的

作为软件这个行业的参与者,有时候也经常思考软件到底应该怎么做,软件业者如何在理想和现实之间取得平衡。当然,这方面没有标准答案的。 有一个小软件,叫paint.net,是基于.NET做的一个很好用的图形编辑软件,很小,很实用,而且免费。 经常会有更新,作者还在不断地改进他。今天在升级的时候,留意到下面一句话,很有意思的。呵呵 所以,我觉得做软件,或者做其他任何事情,还是要有点精神境界的啊  

2011-04-19 03:01:00 561

原创 SQL Server 2008性能数据收集(Data Collector)的一些扩展话题

Data Collector是SQL Server 2008 新增的一个特性,位列管理员需知的top 10列表中。该功能在SQL Server 2008 R2中没有太大的变化 什么是Data Collector 关于这个主题,请直接参考微软官方的说明 http://msdn.microsoft.com/zh-CN/library/bb677248.aspx 关于如何配置Data Collector

2011-03-16 09:32:00 822

原创 谈谈技术体会、创业和职业规划及相关

这几个月都比较少写技术文章和博客,固然有工作忙的原因。但其实也是一个调整和思考的阶段。 关于技术实践的文章,我写了不少。最近想得更多的一些技术体会,自己其实也是在做第二次的创业准备,所以思考的问题会不太一样。 去年年底的时候,CSDN和《程序员》杂志对我做了一次访问,我也谈到了一些想法。今天摘录一些给有兴趣的朋友参考参考吧   记者:请谈一下你自己的技术成长经历和心得? 陈希章:我是从1999年

2011-03-12 03:23:00 752

原创 html5及其相关学习资源介绍

这段时间,关于Html5的议论甚嚣尘上(包括围绕Silverlight是否已死的争论),甚至有的客户已经在打听这方面的应用。当然,我的回答是:目前还没有应用。 html5意味着什么,我想当然意味着一次洗牌。简单地说,它将改变网页描述内容的方式,这当然是革命。 说老实话,这可不是一个简单的事情,绝对不可能一蹴而就。 我自己html5也了解不深,不发表太多评论。考虑到可能也有很多朋友想要了解这方面的东西,所以整理一些资料出来,也可以给大家参考参考吧   http://www.w3.org/TR/html5/ 这

2010-11-08 00:14:00 547

原创 使用jquery构造自己的多级菜单

最近在讲AJAX方面的一些理论和在项目中的应用。我介绍到了AJAX的一些内部原理,以及两套AJAX框架:Microsoft ASP.NET AJAX和jquery. 我个人很喜欢Jquery,我对它的赞美从不吝啬。呵呵 关于Jquery,其实之前就写过不少,有兴趣的可以参考 http://zzk.cnblogs.com/s?w=blog%3Achenxizhang%20jquery   课程中讲到一个问题,就是如何动态生成多级菜单。我知道网上有不少类似的菜单。但既然咱学了Jquery,为什么不可以尝试自己实

2010-11-07 01:48:00 843

原创 【MOSS 2010】 如何开发一个自定义的WebPart来承载Silverlight应用程序

在 MOSS 2010:Visual Studio 2010开发体验(8)——Silverlight应用 这篇文章中,我介绍到了在MOSS 2010中提供的对Silverlight支持。它默认提供了一个Silverlight WebPart可以很方便地显示我们的Silverlight应用程序 但是也有些朋友问到,如果我们要自己开发一个WebPart实现类似的功能,那么该怎么做呢? 【备注】我并不认为这是必须要做的事情,因为我觉得默认那个WebPart绝大部分都能满足要求。   如果你确实需要定制自己的Web

2010-11-06 23:14:00 823

原创 ASP.NET自定义身份验证的实践

事情是这样的:有一套ASP.NET应用程序,用户一般会用工号登录,但是我们希望在应用程序中方便地访问到该用户相关的其他信息,例如用户名或者工厂名称。 按照标准的ASP.NET Membership的做法,它不能提供这样的信息。Page.User.Identity.Name只是返回用户登录时使用的名称,在本例中是工号。 我们的目标是,能不能实现Page.User.Identity.Name显示用户的真实名称,而不是工号,甚至还可以显示其他的一些信息。   要实现这样的功能,我的思路是自定义身份验证。下面就是我

2010-11-05 23:06:00 1728 1

原创 MOSS 2010 Content Type(内容类型)开发中的一个问题及其解决方法

内容类型是SharePoint中一个很重要的功能,简单地说,它使得我们可以定制列表或者文档库的项目模板。关于这个方面,我以前也写过一些文章介绍,请参考 http://zzk.cnblogs.com/s?w=blog%3Achenxizhang%20%E5%86%85%E5%AE%B9%E7%B1%BB%E5%9E%8B     今天要讲的一个问题,是我们在项目中遇到的,虽然不大,但却是困扰了很久,而且百思不得其解(以前在MOSS 2007的时候却没有这个问题)。 这个问题最近与微软中国这

2010-11-03 17:41:00 1113 2

原创 谈谈IE 9的创新和我的一些建议

是时候谈谈IE 9了,虽然现在还没有正式发布。但就我个人安装beta版的体验来说,我觉得还是蛮不错的,值得给大家介绍和推荐 IE 9是一个重要的发布,对于各方面都是如此。微软在这个版本上无疑下了很大的功夫,我们能看到的创新主要包括 1. 界面的改进,更加简洁易于使用 2. 速度提高。可以说是大大提高 3. 对标准(html 5和css 3)的支持。这两个标准也是最近很热的。 4. 开发体验和工具的改进(针对这一点我下面会重点演示一下)   IE 9预览工具:http://ie.microsoft.com/t

2010-11-03 03:24:00 534

原创 ADO.NET Data Service如何直接支持用Json格式返回数据

今天在介绍WCF及其在项目开发中应用时,再次提到了ADO.NET Data Service。关于这个主题,其实之前我写过不少内容,有兴趣可以参考 http://zzk.cnblogs.com/s?w=blog%3Achenxizhang%20ado.net%20data%20service   同时,微软有一篇非常详细的文档 http://msdn.microsoft.com/en-us/library/cc907912.aspx   我们知道,ADO.NET Data Service是支持两种数据格式的:

2010-10-27 11:50:00 1234

原创 MVC 2中HandleErrorFilter的问题及其解决方法

近日在使用MVC2的异常处理的时候,遇到一些问题 1. 我们的Error.aspx是没有使用MasterPage 2.通过如下代码测试using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace MvcApplication1.Controllers{ [HandleError] public cla

2010-10-23 00:05:00 869

原创 小技巧:如何管理保存在本地的用户凭据

我们都有这样的经验:由于工作需要,我们会需要访问到很多内部或者外部的服务器,典型的场景就是远程桌面连接和共享目录访问。一般在连接的时候,都会提示输入用户名和密码,而且一般都有一个选项:“保存用户凭据”。这样显然可以大大地方便我们的工作。下图就是一个范例   那么,我就有一个疑问,这些凭据到底保存在什么地方去了?如果我们需要修改的话,是否有可能? 其实不难,请打开”Control Panel”==>”User Accounts”, 在左侧点击“Manage  your credentials ”,这里可以看

2010-10-21 10:49:00 1288

原创 Powershell简介及其编程访问

Powershell是下一代的命令行外壳程序,较之于它的前身(cmd.exe),它的功能更加强大,也更加易用。最根本的区别在于它是基于对象的操作(基于.NET Framework),而不是基于字符串的操作。 这个工具可以单独使用,完全可以取代cmd.exe。例如如下   但它的功能远不止于此,例如我们可以很容易地获取所有的进程名称   再来看一个,下面这个例子是获取当前正在运行的服务列表。(可以用条件很方便地筛选)   除此之外,Powershell还支持定制,例如微软很多产品都提供了专门的Power

2010-10-16 03:27:00 947

原创 推荐几个有关Silverlight和Prism的学习资源

现如今,Silverlight应该是地球人都知道了吧? 但什么是Prism呢?恐怕知道的人就不是那么多,坦白说我也是最近才了解的。今天顺便整理一些有关的学习资料出来给大家参考参考,我自己就不写了,呵呵   什么是Prism?这是微软的patterns & practics team开发的一套Guidance, 准确的名称是 Composite Application Guidance 。 简单地说,就是试图提供一些设计模式,工具和标准库,帮助开发人员更好地实现在WPF & Silverlight中的模块化开

2010-10-13 03:34:00 833 1

原创 Workflow Foundation 4.0中的事件驱动流程设计和应用(五)

之前,我通过4篇文章介绍了在WF4中开发基于事件的工作流的范例。请参考下面的链接。 Workflow Foundation 4.0中的事件驱动流程设计和应用(一) Workflow Foundation 4.0中的事件驱动流程设计和应用(二) Workflow Foundation 4.0中的事件驱动流程设计和应用(三) Workflow Foundation 4.0中的事件驱动流程设计和应用(四)   这一篇是这个系列的最后一篇,介绍如何通过配置文件,而不是代码的方式启动宿主。这在现实工作中是相当有用的,

2010-10-11 11:46:00 1001

原创 Workflow Foundation 4.0中的事件驱动流程设计和应用(四)

前面三篇,我介绍到了如何在WF 4中设计简单的审批流程,没有什么特别出奇的技术,只不过WF4对于事件机制有了不小的改进吧。 Workflow Foundation 4.0中的事件驱动流程设计和应用(一) Workflow Foundation 4.0中的事件驱动流程设计和应用(二) Workflow Foundation 4.0中的事件驱动流程设计和应用(三)   这一篇要来谈谈更加深入一点的话题:如果我们的流程需要长时间才能完成(这是很常见的),那么如何在这些流程空闲(例如等待经理审批)的时候,更好地管理

2010-10-10 14:47:00 2093 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除