随笔分类 -  Study

Study notes Record.
摘要:谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持在本篇文章上一部分Order Processing的例子中,我们看到原本已Collection形式定义的DetailList属性(public IList DetailList),在Data Contract中却以Array的方式体现(public OrderDetail[] DetailList)。我们现在就来详细地讨论一下基于Collection & Dictionary 的Data Contract。Data Contract for C 阅读全文
posted @ 2013-07-20 11:43 PowerZhang 阅读(285) 评论(0) 推荐(0) 编辑
摘要:ADO.NET 实体框架概述随着.NET Framework 3.5 SP1和Visual Studio 2008 SP1的正式发布。ADO.NET 实体框架正式来到开发人员的面前,它使开发人员可以通过对象模型(而不是逻辑/关系数据模型)专注于数据。实体框架有助于将逻辑数据架构抽象为概念模型, 并且允许以多种方式通过对象服务和名为“EntityClient”的新数据提供程序与概念模型交互。实体框架组件实体框架使开发人员可以编写更少的数据访问代码,减少维护,将数据结构抽象化为更易于开展业务(标准化程度较低)的方式,并且有利于数据的持久性。 当与 LINQ to Entities结合使用时,由于实 阅读全文
posted @ 2013-07-20 11:39 PowerZhang 阅读(925) 评论(0) 推荐(0) 编辑
摘要:C# Lambda Expressions 简介原文http://msdn2.microsoft.com/en-us/library/bb397687.aspx翻译:朱之光 (larry1zhu@gmail.com) 1. Lambda简介一个Lambda Expression (译为Lambda式) 就是一个包含若干表达式和语句的匿名函数。可以被用作创建委托对象或表达式树类型。所有的Lambda式都使用操作符“=>“,表示“goes to (转变为)”。操作符左边部分是输入参数表,右边部分是表达式或语句块。x => x * x 读成“x转变为x 乘x”。Lambda式可以被赋值给 阅读全文
posted @ 2013-07-17 14:16 PowerZhang 阅读(250) 评论(0) 推荐(0) 编辑
摘要:写在前面:1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库。2. 本文中的单元测试都是正确通过的。要理解EF的事务机制,首先要理解这2个类:TransactionScope和DbContext。DbContext是我们的数据库,通常我们会建一个类MyProjectDbContext继承自DbContext,里面包含所有的数据库表。这个类相当于定义了一个完整的数据库。下面通过一些单元测试来看看这2个类是如何工作的。 1 [Test] 2 public void Can_Rollback_On_Errors_In_Different_Context() 3 { 4 ... 阅读全文
posted @ 2013-07-12 18:08 PowerZhang 阅读(306) 评论(0) 推荐(0) 编辑
摘要:在实现基础的三层开发的时候,大家时常会在数据层对每个实体进行CRUD的操作,其中存在相当多的重复代码。为了减少重复代码的出现,通常都会定义一个共用类,实现相似的操作,下面为大家介绍一下Entity Framework时常用到的通用类。首先在数据库建立起几个关联表:Person、Company、Position,三个实体之间通过导航属性进行相互引用。下面为大家分别介绍以泛型实现的 Create、Read、Update、Delete 操作:1. Create在ObjectContext类之中,早已经为大家预定了一个Create 的操作 AddObject:void ObjectContext.Ad 阅读全文
posted @ 2013-07-12 18:02 PowerZhang 阅读(380) 评论(0) 推荐(0) 编辑
摘要:一、一对一关联关系的映射实体对象之间一对一的关联关系是通过数据库中的外键实现的。对外键的使用有以下两种方式:1、主键关联2、唯一外键关联 主键关联 在一对一的主键关联方式中,不需要借助任何额外的字段,直接通过两个表的主键来形成一对一的映射关系,两个表共享主键。例如,对于学生和学号进行主键一对一关联。首先要在Student对象的配置文件吕定义到Nubmer对象的关联: 还需要在number对象的配置文件中定义到student对象的关联:在one-to-one中 有constrained属性表明主键同时作为外键参照 student表另外为了确保两个对象的主键相等,在定义主键的时候可以使用for.. 阅读全文
posted @ 2013-07-11 17:33 PowerZhang 阅读(779) 评论(0) 推荐(0) 编辑
摘要:静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。探究public static class StaticTestClass{ public static int n = 0; public static void Add() { n++; }}网页 P1.aspx 调用 StaticTestClass.Add(),并在页面上输出 n。网页 P2.aspx 调用 StaticTestClass.Add(),并在页面上输出 n。访问者 V1 从客户端 C1 访问 P1.aspx,此时输出为 1。访问者 V2 从客户端 C2 访问 P... 阅读全文
posted @ 2013-07-10 10:55 PowerZhang 阅读(812) 评论(0) 推荐(0) 编辑
摘要:首先以一个简单的例子演示一下远程调用发生异常的结果:服务器端代码如下:[ServiceContract] public interface IService1 { [OperationContract] void ErrorTest(); } public class Service1 : IService1 { public void ErrorTest() { throw new InvalidOperationException("异常测试"); } 该服务非常简单,直接抛一个异常。当运行客户端代码触发这个异常... 阅读全文
posted @ 2013-07-08 17:40 PowerZhang 阅读(386) 评论(0) 推荐(0) 编辑
摘要:第一步、建立WCF服务库点击确定,将建立一个WCF 服务库示例程序,自动生成一个包括IService1.cs和Service1.cs两个类文件。我们可以直接对其修改开发我们的服务,但一般直接删除。第二步:开发实体类在解决方案中,添加新类Module.cs在类中要首先引入using System.Runtime.Serialization命名空间实体类具体代码如下: 1 namespace WcfServiceLib.model 2 { 3 4 /// 5 6 /// 模块实体 7 8 /// 9 10 [DataContract]11 12... 阅读全文
posted @ 2013-07-06 09:58 PowerZhang 阅读(683) 评论(0) 推荐(0) 编辑
摘要:1.事务的概念事务的概念(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 针对上面的描述可以看出,事务的提出主要是为了解决并发情况下保持数据一致性的问题。 事务具有以下4个基本特征。● Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。● Consisten 阅读全文
posted @ 2013-07-05 13:03 PowerZhang 阅读(207) 评论(0) 推荐(0) 编辑
摘要:最近我做的一些项目,经常需要用到对应用程序的配置文件操作,如app.config和web.config的配置文件,特别是对配置文件中的[appSettings]和[connectionStrings]两个节点常常进行新增、修改、删除和读取相关的操作的,所以,我自己就亲手把这些相关的操作都封装到一个配置文件管理器中,用静态的方法来调用便可,以下是我的实现,以资参考. 1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Web; 5 using System.Collectio... 阅读全文
posted @ 2013-07-03 14:42 PowerZhang 阅读(859) 评论(0) 推荐(0) 编辑
摘要:以下是app.config或web.config的定义,定义了一个参数,键为Isinit,值为false 以下是读和写config文件的方法定义:写入:1 internal void settingApp_write(string key, string val) 2 { 3 System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 4 config.AppSettings.Settings["IsInit... 阅读全文
posted @ 2013-07-03 14:27 PowerZhang 阅读(553) 评论(0) 推荐(0) 编辑
摘要:编码解码、图片与byte[]、日志文件写入和读取 1 /// 2 /// 将字符串编码为Base64字符串 3 /// 4 /// 5 /// 6 public static string Base64Encode(string str) 7 { 8 byte[] barray; 9 barray = Encoding.Default.GetBytes(str);10 return Convert.ToBase6... 阅读全文
posted @ 2013-07-03 11:22 PowerZhang 阅读(1832) 评论(0) 推荐(0) 编辑
摘要:想要产生这种唯一标识的格式的数据: 6F9619FF-8B86-D011-B42D-00C04FC964FF 应该怎么做呢?答: uniqueidentifier 数据类型可存储 16 字节的二进制值,其作用与全局唯一标识符 (GUID) 一样。GUID 是唯一的二进制数;世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。 uniqueidentifier 列的 GUID 值通常通过下列方式之一获取: 在 Transact-SQL 语句、批处理或脚本中调用 NEWID 函数。 在应用程序代码中,调用返... 阅读全文
posted @ 2013-07-01 11:06 PowerZhang 阅读(1000) 评论(0) 推荐(0) 编辑
摘要:阅读目录config文件 - 自定义配置节点config文件 - Propertyconfig文件 - Elementconfig文件 - CDATAconfig文件 - Collectionconfig文件 - 读与写读写 .net framework中已经定义的节点xml配置文件xml配置文件 - CDATAxml文件读写注意事项配置参数的建议保存方式config文件与XML文件的差别 今天谈谈在.net中读写config文件的各种方法。 在这篇博客中,我将介绍各种配置文件的读写操作。 由于内容较为直观,因此没有过多的空道理,只有实实在在的演示代码, 目的只为了再现实战开发中的各种场景。. 阅读全文
posted @ 2013-06-10 09:42 PowerZhang 阅读(258) 评论(0) 推荐(0) 编辑
摘要:总结(一):一、<a>标签 1. <a href=”test.aspx”></a>; 2. 这是最常见的一种转向方法。二、HyperLink控件 1. Asp.net 服务器端控件 属性NavigateUrl指定要跳转到的Url地址; 2. NavigateUrl是可以在服务器端使用代码修改,这个区别于<a>; 3. 由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl; 4. 代码示例: <Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=” 阅读全文
posted @ 2013-06-09 11:57 PowerZhang 阅读(453) 评论(0) 推荐(0) 编辑
摘要:转眼又已过去了一年,在这一年里,Firefox 和 Chrome 在拼升级,版本号不断飙升;IE10 随着 Windows 8 在去年10月底正式发布,在 JavaScript 性能和对 HTML5 和 CSS3 的支持方面让人眼前一亮。这篇文章给大家带来《五大主流浏览器 HTML5 和 CSS3 兼容性大比拼》,让我们一起来看看2013年的浏览器现状。 浏览器厂商之间的竞争促使各大浏览器对 HTML5 和 CSS3 的支持越来越完善,下面的图表列出了 IE,Chrome,Firefox, Safari,Opera 五大主流浏览器,在 Mac 和 Windows 两个平台,对 HTML5 和. 阅读全文
posted @ 2013-06-07 22:05 PowerZhang 阅读(464) 评论(0) 推荐(0) 编辑
摘要:该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核,所以如果你使用非IE内核浏览器(如:Netscape)可能无法看到下面一些很有意思的效果 该标签是个容器标签 语法: <marquee></marquee>以下是一个最简单的例子:代码如下:<marquee><font size=+3 color=red>Hello, World</font></marquee>下面这两个事件经常用到: onMouseOut="this.start()" :用来设置鼠标移出该区域时继续滚动 onMouseO 阅读全文
posted @ 2013-06-06 11:08 PowerZhang 阅读(318) 评论(0) 推荐(0) 编辑
摘要:原文链接 之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之后你会发现你原来的想法很可能是狭隘的。 今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的... 阅读全文
posted @ 2013-06-03 22:40 PowerZhang 阅读(176) 评论(0) 推荐(0) 编辑
摘要:1 减少HTTP请求数量 (Minimize HTTP Requests)tag:content80%的用户响应时间被花费在前端,而这其中的绝大多数时间是用于下载页面中的图片、样式表、脚本以及Flash这些组件。减少这些组件的数量就可以减少展示页面所需的请求数,而这是提高网页响应速度的关键。朴素的页面设计当然是减少组件的一种途径,但有没有能兼顾丰富的页面内容和快速的响应速度的方法呢?下面就是一些不错的技巧,能在提供丰富的页面展现的同时,减少Http请求数量:合并文件,通过把所有脚本置于一个脚本文件里或者把所有样式表放于一个样式表文件中,从而减少Http请求的数量。当不同页面需要应用不同的脚本或 阅读全文
posted @ 2013-06-03 22:35 PowerZhang 阅读(1168) 评论(0) 推荐(0) 编辑