09 2012 档案
摘要:UI虚拟化当一个WPF的ItemControl被绑定到一个大型集合的数据源时,如果可以UI虚拟化,该控件将只为那些在可以看到的项创见可视化的容器(加上面和下面的少许)。这是一个完整集合中有代表性的一小部分。用户移动滚动条时,将为那些滚动到可视区域的项创建新的可视化容器,那些不再可见的项的容器将被销毁。当容器设置为循环使用时,它将再使用可视化容器代替不断的创建和销毁可视化容器,避免对象的实例化和垃圾回收器的过度工作。数据虚拟化数据虚拟化是指绑定到ItemControl的真实的数据对象的归档虚拟化的时间段。数据虚拟化不是由WPF提供的。作为对比,基本数据对象的小集合对内存的消耗不是很多;但是,大集
阅读全文
摘要:Windows Presentation Foundation (WPF) 样式设置和模板化是指一套功能(样式、模板、触发器和演示图板),应用程序、文档或用户界面 (UI) 的设计人员使用这些功能可以创建更好的视觉效果,也可以对其产品的统一外观进行标准化。尽管作者或设计人员可以对应用程序的外观逐个进行大量自定义操作,他们还是需要一个功能强大的样式设置和模板化模型,以便在应用程序内部和应用程序之间维护和共享外观。Windows Presentation Foundation (WPF) 就提供了这样的模型。WPF 样式设置模型的另一个功能是实现表示形式与逻辑的分离。这意味着,在开发人员使用 C#
阅读全文
摘要:本主题描述 Windows Presentation Foundation (WPF) 布局系统。了解在构造外观醒目、性能优良的用户界面时如何以及何时进行布局计算是非常重要的。布局系统 术语“布局”描述测量和排列 Panel 元素的 Children 集合的成员、然后在屏幕上绘制它们的过程。这是一个计算密集型过程,即 Children 集合越大,执行的计算次数就越多。根据拥有该集合的 Panel 元素所定义的布局行为,还可能会增加复杂性。如果不需要较为复杂的 Panel(如 Grid),则可以使用构造相对简单的布局(如 Canvas),这种布局可产生更佳的性能。每当子 UIElement 改变
阅读全文
摘要:本主题描述 Windows Presentation Foundation (WPF) 中路由事件的概念。本主题定义路由事件术语,描述路由事件如何通过元素树来路由,概述如何处理路由事件,并介绍如何创建您自己的自定义路由事件。先决条件 本主题假设您对如下内容有基本的了解:公共语言运行库 (CLR)、面向对象的编程以及如何用树的概念来说明 WPF 元素之间的关系。为了按照本主题中的示例操作,您还应当了解可扩展应用程序标记语言 (XAML) 并知道如何编写非常基本的 WPF 应用程序或页。 什么是路由事件? 可以从功能或实现的角度来考虑路由事件。此处对这两种定义均进行了说明,因为用户当中有的认为前者
阅读全文
摘要:Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行库 (CLR) 属性的功能。这些服务通常统称为 WPF 属性系统。由 WPF 属性系统支持的属性称为依赖项属性。本概述介绍 WPF 属性系统以及依赖项属性的功能,这包括如何在可扩展应用程序标记语言 (XAML) 中和代码中使用现有的依赖项属性。本概述还介绍了依赖项属性所特有的方面(如依赖项属性元数据),并说明了如何在自定义类中创建自己的依赖项属性。先决条件 本主题假设您在 CLR 和面向对象的编程方面有一些基础知识。若要采用本主题中的示例,还应当了解 XAML 并知道如何编
阅读全文
摘要:Windows Presentation Foundation (WPF) 中的大部分类都从四个类派生而来,这四个类在 SDK 文档中常常被称为基元素类。这些类包括 UIElement、FrameworkElement、ContentElement 和 FrameworkContentElement。DependencyObject 也是一个相关类,因为它是 UIElement 和 ContentElement 的通用基类。WPF 类中的基元素 API UIElement 和 ContentElement 都是从 DependencyObject 派生而来,但途径略有不同。此级别上的拆分涉及到
阅读全文
摘要:本主题介绍可扩展应用程序标记语言 (XAML) 语言的功能,并演示如何使用 XAML 编写 Windows Presentation Foundation (WPF) 应用程序。本主题专门介绍了 Windows Presentation Foundation (WPF) 实现的 XAML。XAML 本身是比 Windows Presentation Foundation (WPF) 更广泛的一个语言概念。具有流控制支持的声明性语言 XAML 简化了为 .NET Framework 编程模型创建 UI 的过程。您可以在声明性 XAML 标记中创建可见的 UI 元素,然后使用代码隐藏文件(通过分部
阅读全文
摘要:本主题提供 Windows Presentation Foundation (WPF) 类层次结构的指导教程,涵盖了 WPF 的大部分主要子系统,并描述它们是如何交互的。本主题还详细介绍了 WPF 架构师所做的一些选择。System.ObjectWPF 主要编程模型是通过托管代码公开的。在 WPF 的早期设计阶段,曾有过大量关于如何界定系统的托管组件和非托管组件的争论。CLR 提供一系列的功能,可以令开发效率更高并且更加可靠(包括内存管理、错误处理和通用类型系统等),但这是需要付出代价的。下图说明了 WPF 的主要组件。关系图的红色部分(PresentationFramework、Presen
阅读全文
摘要:项目介绍 这节将要把《一步一步学Linq to sql(三):增删改》中留言簿的例子修改为使用WCF的多层构架。我们将会建立以下项目:l A,网站项目 WebSite:留言簿表现层l B,类库项目 Contract:定义数据访问服务的契约l C,类库项目 Service:定义数据访问服务l D,类库项目Entity:留言簿实体l E,控制台项目Host:承载数据访问服务项目之间的引用如下:l A引用B和D;l B引用D和System.ServiceModel程序集l C引用B、D、System.ServiceModel以及System.Data.Linq程序集l D引用System.Data.
阅读全文
摘要:外部映射文件 我们可以使用sqlmetal命令行工具来生成外部映射文件,使用方法如下:1、开始菜单 -》 VS2008 -》VS工具 -》VS2008命令行提示2、输入命令:D:\Program Files\Microsoft Visual Studio 9.0\VC>sqlmetal /conn:server=xxx;database=Northwind;uid=xxx;pwd=xxx /map:c:\northwind.map /code:c:\northwind.cs3、这样,我们就可以在C盘下得到一个xml映射文件和C#的实体类代码4、把.cs文件添加到项目中来(放到App_Co
阅读全文
摘要:论坛表结构 为了演示继承与关系,我们创建一个论坛数据库,在数据库中创建三个表:1、 论坛版块分类表 dbo.Categories:字段名字段类型可空备注CategoryIDintnot nullidentity/主键CategoryNamevarchar(50)not null2、 论坛版块表 dbo.Boards:字段名字段类型可空备注BoardIDintnot nullidentity/主键BoardNamevarchar(50)not nullBoardCategoryintnot null对应论坛版块分类表的CategoryID3、 论坛主题表 dbo.Topics:字段名字段类型可空
阅读全文
摘要:检测并发 首先使用下面的SQL语句查询数据库的产品表:select * from products where categoryid=1 查询结果如下图: 为了看起来清晰,我已经事先把所有分类为1产品的价格和库存修改为相同值了。然后执行下面的程序: var query = from p in ctx.Products where p.CategoryID == 1 select p; foreach (var p in query) p.UnitsInStock = Convert.ToInt16(p.UnitsInStock - 1); ctx.SubmitChanges(); // 在这里
阅读全文
摘要:延迟执行 IQueryable query = from c in ctx.Customers select c; 这样的查询句法不会导致语句立即执行,它仅仅是一个描述,对应一个SQL。仅仅在需要使用的时候才会执行语句,比如: IQueryable query = from c in ctx.Customers select c; foreach (Customer c in query) Response.Write(c.CustomerID); 如果你执行两次foreach操作,将会捕获到两次SQL语句的执行: IQueryable query = from c in ctx.Custom
阅读全文
摘要:普通存储过程 首先在查询分析器运行下面的代码来创建一个存储过程:create proc sp_singleresultsetasset nocount onselect * from customers 然后打开IDE的服务器资源管理器,之前我们从表中拖动表到dbml设计视图,这次我们从存储过程中找到刚才创建的存储过程,然后拖动到设计视图。在方法面板中可以看到已经创建了一个sp_singleresultset的方法,如下图: 然后打开Northwind.designer.cs,可以找到下面的代码: [Function(Name="dbo.sp_singleresultset"
阅读全文
摘要:select描述:查询顾客的公司名、地址信息查询句法:var 构建匿名类型1 = from c in ctx.Customers select new { 公司名 = c.CompanyName, 地址 = c.Address };对应SQL:SELECT [t0].[CompanyName], [t0].[Address]FROM [dbo].[Customers] AS [t0]描述:查询职员的姓名和雇用年份查询句法:var 构建匿名类型2 = from emp in ctx.Employees select new { 姓名 = emp.LastName + emp.FirstName,
阅读全文
摘要:示例数据库字段名字段类型允许空字段说明IDuniqueidentifier表主键字段UserNamevarchar(50)留言用户名PostTimedatetime留言时间Messagevarchar(400)√留言内容IsRepliedbit留言是否回复Replyvarchar(400)√留言管理员回复 在数据库中创建一个名为GuestBook的数据库,在里面创建一个tbGuestBook的表,结构如上表。生成实体类 右键点击网站项目,选择添加新项,然后选择“Linq to sql Classes”,命名为GuestBook。然后打开App_Code里面的GuestBook.dbml。设计视
阅读全文
摘要:什么是Linq to sql Linq to sql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml、Linq to objects、Linq to dataset、Linq to entities等组成了强大的LINQ。 要学好LINQ查询语法,就不得不先理解C# 3.0的一些新特性,下面一一简单介绍。隐含类型局部变量var age = 26;var username = "zhuye";var userlist = new [] {&
阅读全文
摘要:DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。 DataContext提供了以下一些使用的功能:l 以日志形式记录DataContext生成的SQLl 执行SQL(包括查询和更新语句)l 创建和删除数据库DataContext是实体和数据库之间的桥梁,那么首先我们需要定义映射到数据表的实体。定义实体类using System.Data.Linq.Mapping;[Table(Name = "Customers")]
阅读全文
摘要:在上一篇中,我写了几个最最基本的DataMap映射,但是如果仅仅是这些功能的话,那iBatis真就有点愧对它的粉丝啦,我个人的理解,iBatis真的可以让开发者眼前一亮的特性在于它的动态SQL,在这一篇中,就会详细的阐述它在一个数据映射定义文件中,可以存在多个 Cache Models,Type Aliases,Result Maps,Parameter Maps,Statements,而且可以在不同的数据映射中使用数据操作指令映射<statement id=”statement name” [parameterMap=”parameterMap name”] [parameterCla
阅读全文
摘要:总算,总算,能写点示例啦,呵呵,其实前面的几篇,我感觉自己写的也很生硬,没有Demo理解起来是很困难,很多名词,反正我初次接触iBatis的时候,是一点也不理解的,我也是比较习惯与从示例中学习的,到今天这一篇,终于可以完成一个可以让iBatis真正运行起来的实例啦,前面的,可能只能理解为纸上谈兵,不过之所以这么设计,也是不得意而为,因为你不从本质上了解它的协作过程,不会把这个框架运用的很好的这一篇要写到的,就是我们所有的查询语句的定义,DataMap,它也是定义在xml文档里的,的确iBatis.Net没有像nhibernate和linq to sql那样,不需要写sql语句,不过也正是因为在
阅读全文
摘要:在iBatis.Net中,可以通过SqlMapper实例访问DataMapper API,其实以前写的都是一些iBatis.Net的概念和一些配置的问题,从这一篇开始,才是真正的精髓,也是我们使用iBatis.NET真正开始完整我们对数据库的任务的开始,这一篇我主要写一些DataMapper API,的定义、作用、使用方式,很遗憾,这一篇应该还是不会出现任何实例,因为还没有数据实体类和映射文档,这将会在下一篇写到Insert/Delete/Updatepublic object Insert(string statementName, object parameterObject); publ
阅读全文
摘要:在iBatis中,我们把所有的配置和映射都放在XML文件里(当然,这未必是一定需要的),但是,XML文件不是可执行的,所以,如果我们要在我们的c#代码里使用iBatis的映射,就必须通过一个类来加载、分析、使用它。所以在iBatis中,提供给了我们很多的API来做这些事情,配置以及映射文件的加载和监视是在创建SqlMapper实例的时候进行的,而所有的数据映射的工作以及我们对数据库的操作,是需要在SqlMapper实例上调用方法来完成的,SqlMapper实例具有多线程并且长期活动的性质,在iBatis外界,可以随处使用这样的方法来调用得到SqlMapper实例ISqlMapper mappe
阅读全文
摘要:写完第一篇,有朋友给我发邮件,说想让我配合实例写会不会更好一些,可是呢,我觉得这就相当于那些北大的什么鸟给无辜的孩子们吃快餐一样,我是坚决反对那样的,知其然不知其所以然,可能你当下可以从那里学点东西然后找到个工作,但是那样的知识体系是不适合我们发展的,当然了,这也是小白的个人观点,毕竟人那什么鸟比我飞的漂亮的多,至于iBatis这东西,说简单不简单,说难不难,很多基础的概念配置的东西,还是很有必要研究一下的,至于他的使用倒是很简单,所以也希望朋友们能真正吃透他,您的功力如何,并不在于您有多么锋利的武器,而在于您能把它的锋利发挥到一个什么程度,好了 闲话少说,书归正传iBaits的配置是以Sql
阅读全文
摘要:iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。 相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。 所谓“半自动”,可能理解上有点生涩。纵观目前主流的 ORM,无论 Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO 到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过 Hibernate或者OJB 提供的方法完成持久层操...
阅读全文
摘要:这已经不是瘾科技第一次访问位于芬兰埃斯波市诺基亚总部里的 NokiaHouse 了,但实话说每一次都会给人带来不一样的感受。 在这一次的 NokiaHouse 之旅中,瘾科技编辑又再度走入了回忆的“长廊”,重新领略了一番诺基亚这个品牌多年以来所拥有的独特魅力。他们这次看到了 1011(第一台 GSM 手机)、7700/7710(S90)、7280(口红手机)、770平板、N-Gage/QD、8800、8110(《黑客帝国》里的那台)、N93/N93i、N91、N92、N76、N95还有 7650(第一款 Symbian 手机),当然最新的 Lumia 920、Lumia 820 也必不可少(.
阅读全文
摘要:用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。这篇博客主要讨论的话题是:ASP.NET Forms 身份认证。有一点我要申明一下:在这篇博客中,不会涉及ASP.NET的登录系列控件以及membership的相关话题,我只想用比较原始的方式来说明在ASP.NET中是如何实现身份认证的过程。ASP.NET身份认证基础在开始今天的博客之前,我想
阅读全文
摘要:本篇文章涵盖一下几部分内容:1. 什么是异步编程,为什么会需要异步编程2. .NET下的异步编程及其发展3. .NET线程同步机制及线程间数据封送4. 异步模式5. 线程安全及异常处理6. 线程取消什么是异步编程,为什么会需要异步编程这个世界上资源是受限的。但资源限制和懒惰一样促进了工业和科技的发展。在计算机方面举个例子,计算机非得是二进制吗?对计算机来说二进制最好吗?不是,这是由于当时工业水平限制,把电压分成两份表示0和1比分成三份更加方便且可靠;虚拟内存管理,Cache等技术都是由当时硬件条件所限逼出来的技术,同样异步编程和分布式编程也是。生活中的好多事物都不是线性的,拿学生时代的一个常.
阅读全文
摘要:很大程度上来讲,LINQ的工作方式很像SQL。查询源定义、join、select和where子句都是相当标准的,而Group/By/Into子句则正是我们这里要仔细说明的。SQL总是返回矩阵式数据集,与它不同的是,LINQ具备了返回层次化数据的能力,这也给它自己带来了更多新的挑战。举一个例子,将客户按照所属country和city进行分组查询,在SQL中,可能会通过在客户端手动分组或者执行1+N+(N*M)次查询来实现,一个查询用来获取所有的国家,一个查询用来获取每个国家的所有城市,然后再逐个查询出每个国家的每个城市下所有的客户列表。而在LINQ中,它可以通过一个带有一系列子查询的查询语句一次
阅读全文
摘要:日期格式参数含义说明D一周中的星期几DAY天的名字,使用空格填充到9个字符DD月中的第几天DDD年中的第几天DY天的简写名IWISO标准的年中的第几周IYYYISO标准的四位年份YYYY四位年份YYY,YY,Y年份的最后三位,两位,一位HH小时,按12小时计HH24小时,按24小时计MI分SS秒MM月Mon月份的简写Month月份的全名W该月的第几个星期WW年中的第几个星期1.日期时间间隔操作当前时间减去7分钟的时间select sysdate,sysdate - interval ’7’ MINUTE from dual当前时间减去7小时的时间select sysdate - interva
阅读全文
摘要:在Oracle中 IW 和 WW 有什么区别?计算它们的算法是什么?IW:ISO标准周WW:oracle标准周举例:SELECT to_char(to_date('20051203','yyyymmdd'),'WW') "WW03", to_char(to_date('20051203','yyyymmdd'),'IW') "IW03", to_char(to_date('20051204','yyyymmdd'),'W
阅读全文
摘要:AvalonDock是一个 .NET 库,用于在停靠模式布局(docking)中排列一系列 WPF/WinForm 控件。最新发布的版本原生支持 MVVM 框架、Aero Snap 特效并具有更好的性能。 AvalonDock 2.0 版本已经发布了,新版本是用 MVVM 框架重新编写,似乎也用了 Command(命令)模式。2.0版的文档尚未发布,但你可以参考 Avalon.TestApp 或者2.0版源码中的 Avalon.MVVMTestApp 文件夹来查看新的 API。 这个库使用很简单——只需要用 AvalonDock 提供的控件包含你自己的控件,页面布局就立即变成可停靠的(do..
阅读全文
摘要:Windows Phone 7 确实有多任务是的,这是我说的。这么说因为这是真的。一个Windows Phone绝对是一个多任务的设备。我可以在听音乐的同时玩游戏,或者在上网的时候收邮件。错误的消息是我们应用程序的开发人员传出的,在开发我们发现不能构建在后台运行的程序。在我为Windows Phone 7工作的几个月中,我只能提出2个真正有说服力的在我的电话中运行后台应用程序的原因。播放音乐的程序。如Pandora程序。我完全认同它在后台中运行。如果音乐停止了用户一定会发现的。需要从设备传感器中获取数据的程序,如GPS,如果程序没有运行,我就无法告诉你已经走完了你想走的4英里路程。在这两种情况
阅读全文
摘要:随着Silverlight技术的逐步完善,Silverlight应用大批的涌现,近期的2010年冬季奥运会,Silverlight作为首选视频播放技术,为全球提供在线赛事实况。Silverlight技术的发展需要更多的开发人员加入,作为Silverlight技术的支持者,我把平时Silverlight开发使用的工具进行一次总结,希望对大家能有所帮助。Silverlight开发工具包(必装):在银光中国网有篇“轻松建立Silverlight开发环境”,该文详细介绍了Silverlight工具集下载,以及安装步骤。我简要列出,另外做一些补充:工具一: Visual Studio 2008 SP1
阅读全文
摘要:【转】http://leelei.blog.51cto.com/856755/871759今天我们通过一个登录得例子来看看Silverlight的用法以及MVVM模式。这系列的博客我会把以前做的一个WinForm的小程序改装成SL。首先先上一张图。好了功能就这么点,今天我们先把登陆界面做出来。要说这个小程序,我先把程序架构贴出来,如下所示。首先,SilverLight的宿主是MVC3项目,整个框架采用SilverLight调用Controller/Action的模式。在Server端我们用到了领域驱动设计一小部分,为了降低耦合,采用了Unity注入。在Server端,主要包括Repositor
阅读全文

浙公网安备 33010602011771号