[发布至博客园首页]
文章平均质量分 83
chen_xizhang
服务于微软.NET 平台,SQL Server 平台,Office平台
架构师、资深顾问,高级讲师
展开
-
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 · 1416 阅读 · 0 评论 -
html5及其相关学习资源介绍
这段时间,关于Html5的议论甚嚣尘上(包括围绕Silverlight是否已死的争论),甚至有的客户已经在打听这方面的应用。当然,我的回答是:目前还没有应用。 html5意味着什么,我想当然意味着一次洗牌。简单地说,它将改变网页描述内容的方式,这当然是革命。 说老实话,这可不是一个简单的事情,绝对不可能一蹴而就。 我自己html5也了解不深,不发表太多评论。考虑到可能也有很多朋友想要了解这方面的东西,所以整理一些资料出来,也可以给大家参考参考吧 http://www.w3.org/TR/html5/ 这原创 2010-11-08 00:14:00 · 576 阅读 · 0 评论 -
使用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 · 880 阅读 · 0 评论 -
【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 · 856 阅读 · 0 评论 -
ASP.NET自定义身份验证的实践
事情是这样的:有一套ASP.NET应用程序,用户一般会用工号登录,但是我们希望在应用程序中方便地访问到该用户相关的其他信息,例如用户名或者工厂名称。 按照标准的ASP.NET Membership的做法,它不能提供这样的信息。Page.User.Identity.Name只是返回用户登录时使用的名称,在本例中是工号。 我们的目标是,能不能实现Page.User.Identity.Name显示用户的真实名称,而不是工号,甚至还可以显示其他的一些信息。 要实现这样的功能,我的思路是自定义身份验证。下面就是我原创 2010-11-05 23:06:00 · 1786 阅读 · 1 评论 -
谈谈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 · 543 阅读 · 0 评论 -
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 · 1244 阅读 · 0 评论 -
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 · 898 阅读 · 0 评论 -
小技巧:如何管理保存在本地的用户凭据
我们都有这样的经验:由于工作需要,我们会需要访问到很多内部或者外部的服务器,典型的场景就是远程桌面连接和共享目录访问。一般在连接的时候,都会提示输入用户名和密码,而且一般都有一个选项:“保存用户凭据”。这样显然可以大大地方便我们的工作。下图就是一个范例 那么,我就有一个疑问,这些凭据到底保存在什么地方去了?如果我们需要修改的话,是否有可能? 其实不难,请打开”Control Panel”==>”User Accounts”, 在左侧点击“Manage your credentials ”,这里可以看原创 2010-10-21 10:49:00 · 1319 阅读 · 0 评论 -
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 · 1029 阅读 · 0 评论 -
通过XOML或者XAML的方式创建和启动工作流
在Workflow Foundation中,提供了多种设计工作流的方式。例如 纯代码的方式(C#) 代码分离的方式(XOML+C#) 以上两种,可以从Visual Studio提供的项目模板中选择 他们在设计器中看起来是如下的 xoml是一种特殊的XML格式,它可以描述流程。例如下面这样的一个流程 它用XOML描述的话,大致如下原创 2010-10-01 12:31:00 · 1233 阅读 · 1 评论 -
关于COM+的一些回顾
今天继续在讲解SOA技术实现方面的课程,这一周主要讨论的是WCF。既然讲到WCF,难免要提一下在其之前的有关技术。其中COM+我认为是非常值得回顾的。 COM+技术所能提供的功能 1、事务服务:它确保了在分布式系统中的数据完整性。 2、安全服务:它的安全模型提供了处理安全性而不用编写任何代码的方法。 3、同步服务:提供了有效管理地解决组件中并发问题的方法,但却不用编写代码。 4、资源管理:(包括资源管理器和资源分配器)管理数据库连接、网络连接和内存等。 5、JIT原创 2010-07-31 12:29:00 · 525 阅读 · 0 评论 -
《实践与思考》一书的概述和随笔连载说明
《实践与思考》是我计划在编写的一本书,这本书将计划用半年左右的时间完成,这是一本侧重于软件行业的工作实践和探索观察的书,我试图通过自己的身体力行,并且也倾听其他团队或者个人的声音,总结出来一些技术和行业发展的思考。希望能提供一种不同的视角,来让我们更加了解我们自己,以及我们所处的行业环境,更重要是也希望能探索一些更加好的一些发展道路吧。(当然,限于个人能力,一些观点也会难免有些局限性,但这一点大家应该是会理解的) 这本书在写作过程中,大部分的内容都会用连载的方式第一时间贴在博客园.(这么多年一路走来,真的也原创 2010-06-21 03:58:00 · 411 阅读 · 0 评论 -
如何在ADO.NET Data Service的解决方案中修改最大传输数据量
1.问题描述: 如果你在使用ADO.NET Data Service做应用开发,那么有时候你可能会遇到如下的情况,尤其是你传输的数据量比较大的情况下,例如要上传或者下载一个比较大的文件时。 System.Net.WebException was unhandled by user code Message=The underlying connection was closed: An unexpected error occurred on a receive. Source=System原创 2010-06-09 04:28:00 · 1200 阅读 · 0 评论 -
ADO.NET Data Service中更新和查询一对多实体集的注意事项
尽管有人不喜欢ADO.NET Data Service,或者也有人不喜欢LINQ to SQL以及Entity Framework。但我还是愿意写这一篇文章,这是我在用的时候遇到的一个问题和解决方法。写出来,也可以为以后有类似问题的朋友提供一些帮助吧 如果你不了解什么是ADO.NET Data Service,可以参考下面的一些链接和我之前的一些文章 http://kb.cnblogs.com/page/43963/?page=1 ADO.NET Data Service之CRUD操作 如何在AJAX应原创 2010-06-04 04:37:00 · 983 阅读 · 0 评论 -
MOSS 2010:Visual Studio 2010开发体验(25)——编写自定义的BCS连接器(续)
上一篇我讲解到了如何在Visual Studio 2010中编写自定义的BCS连接器来实现更加灵活的应用程序集成。在那篇文章,我主要讲解了有关的概念,并且做了一个最简单的模型,发布之后能够使用它。 这一篇,我们继续来实现一个更加有现实意义的 BCS 连接器。我们需要读取的数据仍然是有关员工信息的。 我们希望员工实体拥有如下的信息 ID FirstName LastName Age 【提示】通过跟随本文做练习,你将学会如何设计一个自己的业务实体模型。 【注意】不要小看这个步骤,我之前就提到过,自定原创 2010-05-02 06:21:00 · 987 阅读 · 0 评论 -
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 · 837 阅读 · 0 评论 -
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 · 1102 阅读 · 0 评论 -
如何利用Interception简化MVVM中的Model和ViewModel的设计
这一篇是“如何利用AOP简化MVVM中Model和ViewModel的设计”一文的姊妹篇。阅读本文之前,请一定要先阅读上一篇,否则你可能对有关问题理解不深。 上一篇说到,我们可以用AOP的方式,具体来说,我们使用了一个第三方的框架(PostSharp)来实现了代码注入。PostSharp的方式是静态注入,它是需要改变IL代码的。 请看下面这个截图,Customer类型里面的IL代码其实是被改过原创 2011-06-24 15:55:00 · 1417 阅读 · 0 评论 -
通过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 · 2453 阅读 · 0 评论 -
如何利用AOP简化MVVM中Model和ViewModel的设计
这一篇谈一个MVVM中的一个虽然小但却很实际的问题,就是如何简化Model和ViewModel的设计。这是我们在项目中总结提炼的一些做法。 【备注】关于MVVM的概念,并不是本文的重点。如果你对MVVM还不熟悉,可以参考这里。关于MVVM与之前的MVP,MVC设计模式的渊源和比较,还有目前主流的几个MVVM框架的大致情况,我最近可能再会抽时间另外整理一篇,有兴趣的朋友关注一下。 有用过MVVM的原创 2011-06-24 14:42:00 · 1779 阅读 · 1 评论 -
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
这是项目中一个页面上的一个功能。我们需要在界面上通过一个TreeView控件显示一个递归的树状结构,也就是说会很多层嵌套的节点,而且层数是不确定的。 这个功能,可以通过HierarchicalDataTemplate来很方便地实现 1. 业务实体 作为举例,我定义了一个大家都很熟悉的Folder类型,即文件夹。我们都知道,文件夹又可以包含子文件夹,而且可以多层嵌套。所以,这是一个递归的结构体。原创 2011-06-22 15:20:00 · 1279 阅读 · 0 评论 -
WCF技术的不同应用场景及其实现分析(续)
上一篇 我总结介绍了WCF技术的背景,核心要素,和典型场景,目的是希望让大家更好地掌握WCF技术,并且在工作中知道如何选择。 由于篇幅较长,这一篇继续写完第二部分。 应用场景: WCF 从发布到现在的将近5年左右的时间,经过了多次增强和改进,从最开始单纯的SOAP Service的方式,发展出来其他多种应用场景,分别是 1. SOAP Services 2. WebHttp Services 3原创 2011-06-21 11:02:00 · 2045 阅读 · 1 评论 -
【VSTO】Office开发中遇到的兼容性检查问题
事情是这样的: 我们的一个应用程序需要通过VSTO代码方式操作本地的Excel,包括打开工作簿,生成新的工作簿,设置数据,并且保存为新文件等等。 该程序在Excel 2003的环境下没有任何问题,但是在Excel 2007或者是Excel 2010中就老是遇到中途被卡住的状况。 究其原因,是因为我们想将文件继续保存为Excel 2003格式,但Excel 2007或者Excel 2010默认会原创 2011-06-08 04:23:00 · 2499 阅读 · 0 评论 -
如何理解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 · 3244 阅读 · 0 评论 -
RIA Service 的 SOAP EndPoint
越来越多的朋友都在使用Silverlight开发应用程序,其中我们常用的还会有一个特殊的服务,就是RIA Service,具体来说,它是一个所谓的Domain Service. 关于这个服务的基本概念,如果有不清楚,请参考下面这个网址 http://www.silverlight.net/getstarted/riaservices/ 今天这一篇是要谈谈一个问题,就是如何让RIA Servic原创 2011-06-14 10:36:00 · 1372 阅读 · 0 评论 -
常见SQL Server导入导出数据的几个工具
在我们的日常工作中,与数据库打交道的机会越来越多。这一篇文章我整理一下常见的SQL Server导入导出数据的几个工具 1. 数据导入导出向导 这是一个可视化的工具,我放在首位,是由于它可以极大灵活地满足导入导出功能,而且是所见即所得的,易于使用。 启动数据导入导出向导的方式有好多种,我自己习惯直接通过如下的命令启动(开始=》运行) dtswizard(顾名思义,它是一个wizard——向导,原创 2011-06-09 08:33:00 · 2182 阅读 · 1 评论 -
如何在SQL Server中使用正则表达式
最近处理客户一个需求,是要在SQL Server中对某个列进行校验,使用正则表达式保证该列必须是一个邮件地址。 我们都知道,SQL Server的T-SQL中默认是没有这样的语法的。找了一些资料,下面这个例子还不错,分享给大家参考 http://www.codeproject.com/KB/database/xp_pcre.aspx 大致步骤是 1.下载他提供的那个压缩包,里面有源代码和安装脚本原创 2011-05-27 14:24:00 · 5309 阅读 · 0 评论 -
在jquery中处理带有命名空间的XML数据
这一篇记录一个小技巧。 如果你在做AJAX应用,则你可能经常会用到jquery(或者其他框架)处理服务返回的数据。如果用Jquery处理Json格式,将是相当方便的。但不幸的是,很多服务返回的数据仍然是XML格式的。 jquery对于xml这种数据的处理是内置支持的,这一点没有任何问题。但前提是返回的数据没有带任何命名空间。例如下面这份数据"1.0" encoding="utf-8" ?>原创 2011-06-12 10:04:00 · 870 阅读 · 0 评论 -
再谈谈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 · 1245 阅读 · 0 评论 -
【SSAS】Model-First Cube 设计的最佳实践
【备注】这是最近在一个讲座中的例子,整理出来给大家参考 相关名词解释 SSAS: SQL Server Analysis Service。 这是微软SQL Server BI(商务智能)平台的一个核心组件,它可以基于UDM(统一维度模型)构建多维数据集和挖掘模型,支持OLAP(在线分析)和Data Mining(数据挖掘) Cube: 多维数据集 这是SSAS项目设计的一个核心目的,创建多维原创 2011-06-09 10:11:00 · 1432 阅读 · 0 评论 -
細微之處看看mysql與sql server的一些差別
以前不怎麼使用mysql,最近有些事情,需要用到php和mysql。目前使用的版本是5.5.1 發現mysql與sql server有很多不同。可能逐漸地會整理一些文檔出來給大家參考。 今天第一篇說說,update操作的差異。在mysql中,如果update語句要設置的新值,與數據庫中當前的值是一樣的,其實意味着無需更改。這種操作是不會被執行的。 為什麼會發現這個問題呢?因為我在php程序中,原创 2011-04-24 06:42:00 · 632 阅读 · 0 评论 -
WCF技术的不同应用场景及其实现分析
这一篇文章,是总结一下WCF技术,以及基于这个技术发展出来的几个典型应用场景,并且我将尝试对这些不同的WCF实现的原理进行一些比较分析。 关于WCF这个技术的基本概念,如果你不是很清楚,可以参考一下有关的文档 微软开发者中心 http://msdn.microsoft.com/en-us/netframework/aa663324 我的博客中先前也有很多这方面的介绍 http://zzk.cn原创 2011-06-21 05:53:00 · 3255 阅读 · 0 评论 -
MOSS 2010:Visual Studio 2010开发体验(24)——如何在浏览器中直接对BCS模型直接进行编辑和新增操作
上一篇文章我演示了如何结合SQL Server的表格,快速创建一个BCS的模型。然后,可以在浏览器中查看,并且在Workspace中编辑或者新增。 如果你还不熟悉该操作,请参考 http://www.cnblogs.com/chenxizhang/archive/2010/05/01/1725531.html 有朋友问到,是不是要编辑的话,就必须在Workspace中去做?这个是要看具体情况的,我上次的演示之所以没有办法在浏览器中编辑,是因为那个数据模型(Employee)包含了特殊字段,是一个Phot原创 2010-05-02 03:10:00 · 791 阅读 · 0 评论 -
MOSS 2010:Visual Studio 2010开发体验(23)——编写自定义的BCS连接器
前面我们用了两个篇幅比较详细地介绍了BCS结合SQL Srever和WCF实现应用程序集成的场景和典型做法。 他们的链接分别是 BCS & WCF http://www.cnblogs.com/chenxizhang/archive/2010/05/01/1725576.html BCS & SQL http://www.cnblogs.com/chenxizhang/archive/2010/05/01/1725531.html 我们都还记得,在创建所谓外部内容类型的时候,会让我们添加连接,而连接有三原创 2010-05-01 10:19:00 · 621 阅读 · 0 评论 -
《实践与思考》系列连载(1)——引子
这是本书连载的第一篇,我比较详细地介绍了是在什么样的一种心情和背景下,促使我想写这本书。同时也描述了我对于软件及软件产业的理解。 这一篇的开始,引用了著名的MIT创始人尼古拉斯的一段话,然后据此展开。 下面摘录文章开始的一部分: 你所看到的这本书,毫无疑问,它是一定的背景下被作者(就是我)写出来的。那么,是什么引发了我的热情和思考,愿意花这么多时间,开始这段冒险的旅途呢?(是的,很多人都跟我说起过,写书确实是一段冒险的旅途,这比我们写一段精妙的算法或者设计一个软件的挑战有过之而无不及)。 让我们从原创 2010-06-21 12:40:00 · 400 阅读 · 0 评论 -
XML Web Service并发异步调用的问题及其解决方案
最近在忙些其他项目的事情,之前的MOSS 2010开发系列暂时搁一搁了。这个项目是传统的C/S架构,有客户端,有服务器。客户那边的环境还比较老,是Windows Server 2000. 很不幸的是,Windows Server 2000是不可以安装.NET Framework 3.5的(这个问题我之前也提到过),所以其实有很多东西得用比较早的技术去实现。一个典型的例子就是,在服务层的设计里面,我被迫放弃了WCF,而是采用了XML Web Service的方式。当然,咱对Web Service很熟悉,也很亲原创 2010-05-31 00:44:00 · 790 阅读 · 0 评论 -
MOSS 2010:安装和使用Office Web Apps
什么是Office Web Apps? 下面这个定义是微软官方给出的 使用 Microsoft Office Web 应用程序,您可以从任何地方访问文档。无论是从家里编辑文档,还是与世界各地的人协作,Office Web 应用程序都有助于您按照需要的方式工作。 它有两个版本 Windows Live 中的 Office Web 应用程序 SharePoint 中的 Office Web 应用程序 详细的情况请看看这里的介绍 http://www.microsoft.com/office/201原创 2010-05-11 01:36:00 · 1429 阅读 · 0 评论 -
MOSS 2010:Visual Studio 2010开发体验(28)——工作流开发最佳实践(二)
在之前的两篇文章中,我介绍了有关工作流的概念,以及最佳实践第一篇 工作流开发概述:http://www.cnblogs.com/chenxizhang/archive/2010/05/02/1726105.html 工作流开发最佳实践(一):http://www.cnblogs.com/chenxizhang/archive/2010/05/02/1726154.html (使用visio设计流程概念) 这一篇我们接下去,将visio设计好的流程概念模型,导入到SharePoint Designer原创 2010-05-03 03:13:00 · 1060 阅读 · 0 评论 -
MOSS 2010:Visual Studio 2010开发体验(27)——工作流开发最佳实践(一)
上一篇我已经介绍到了工作流以及有关的概念。现在我们就来用一个简单的例子,讲解说明如何在MOSS 2010的平台上开发工作流解决方案。 我们的需求是这样的: 我们需要实现一个简单的费用报销流程,用户提交报销申请之后,会有如下的几个情况 如果金额小于500的话,则直接就到财务领钱 如果金额大于等于500,同时小于2000的话,部门经理审批即可,然后到财务领钱 如果金额大于等于2000的话,则部门经理审批之后,还需要总经理审批,然后到财务领钱 经理和总经理都可以拒绝(这是当然啦,经理们不都是经常做这样的事原创 2010-05-02 15:25:00 · 1176 阅读 · 0 评论