摘要: 最近项目中应用多次应用了图片合成,为了今后方便特此记下。在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名空间是System.Drawing 和System.Drawing.Imaging,另一种是WPF中新添加的API,命名空间是System.Windows.Media 和System.Windows.Media.Imaging 。我们来做一个简单的例子,分别用上面的两种方式实现,功能是在一个背景图上面,画一个头像,然后在写一个签名。首先准备一张背景图(bg.jpg)和两个头像图片(tiger.png 和 lion.png)最后的生成的图片效果如下图:把准备的素材拷贝 阅读全文
posted @ 2012-11-29 15:18 Rising_Sun 阅读(5610) 评论(4) 推荐(1) 编辑
摘要: 最近发现群共享里面有个C# 文件操作封装类,其方法是调用Windows API 来操作的文件的删除、移动、复制、重命名操作。下载下来一试,发现果然不错,特在此记录,以防丢失!文件操作类代码如下:C# 文件操作类using System;using System.Runtime.InteropServices;using System.IO;namespace LxFile{ /// <summary> /// 文件操作代理,该类提供类似于Windows的文件操作体验 /// </summary> public class FileOperateProxy { ... 阅读全文
posted @ 2012-11-13 15:22 Rising_Sun 阅读(11182) 评论(1) 推荐(4) 编辑
摘要: 数据库同步方式有很多种,这里以SQL Server 2008 为例利用数据库发布和订阅的方式来演示数据库的同步技术。由于就有一台计算机,只能在同一个服务器下两个不同的数据库之间进行数据同步进行演示。首先我们在SQL Server 中建立两数据库 Lx_Data1 和 LxData2,并在两数据库中分别建立表t_student,脚本如下:CREATE TABLE t_student( Id INT NOT NULL, Name NVARCHAR(10) NULL, Age TINYINT NULL, School NVARCHAR (20) NULL, Class NVARCHAR (10) N 阅读全文
posted @ 2012-11-08 16:38 Rising_Sun 阅读(37670) 评论(7) 推荐(7) 编辑
摘要: 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李大爷的电话,有了下面的对话:小不 阅读全文
posted @ 2012-11-08 10:28 Rising_Sun 阅读(1108) 评论(0) 推荐(3) 编辑
摘要: 上一篇 对Wpf/Silverlight Template 进行了总结,本篇继续上一篇,主要是介绍 HierarchicalDataTemplate 的使用方法。HierarchicalDataTemplate 继承于DataTemplate,被称之为"层级式数据模板",主要是应用层级比较明显数据集合,其典型的应用就是对TreeView控件进行数据绑定,接下来就在Silverlight 5 下进行一下演示。最近有个卖凉茶的节目比较火,叫中国好声音,里面的导师和其歌手的分组就是个层级结构,我们暂且先用它来做个例子吧。首先我们需要准备一下层级的数据集合,定义一个歌手类:歌手类 阅读全文
posted @ 2012-10-24 22:19 Rising_Sun 阅读(8513) 评论(12) 推荐(12) 编辑
摘要: WPF/Silverlight 中的控件都有Style和Template两种属性。前者解释为样式,是用来改变控件原有属性的,比如 Button 控件的(Width,Height,Background 等等)。后者被解释为模版,用于定义控件的内部结构,可以对控件的外观和形状进行改变,比如可以把Button控件的形状由原来的矩形改变圆形。WPF/Silverlight控件主要分为以下三类:Control类型 – Template属性 (ControlTemplate类型) – ContentPresenter – ContentTemplate (DataTemplate类型)C... 阅读全文
posted @ 2012-10-16 21:49 Rising_Sun 阅读(5629) 评论(13) 推荐(8) 编辑
摘要: 在SQL中分拆列值和合并列值老生常谈了,从网上搜刮了一下并记录下来,以便不时之需 :)什么叫分拆列值和合并列值呢?就只是这样的,比如有如下表A结构及数据:IdData1aa,bb2aaa,bbb,ccc将该表A的Data字段数据根据 “,” 进行分拆得到如下表BIdData1aa1bb2aaa2bbb2ccc这就是表A-->表B 叫做分拆列值,表B-->表A 叫做合并列值。一、分拆列值:CREATE TABLE t_Demo1( Id INT, Data VARCHAR(30))GOINSERT INTO t_Demo1 VALUES(1,'aa,bb') INSE 阅读全文
posted @ 2012-09-29 16:44 Rising_Sun 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 问题描述:假如有一表结构和数据如下:C1C2C3C4C5126342234503628经过sql查询后输出的结果集为:(字段后面增加聚合[最大值] [最小值] [>=5的值个数])C1C2C3C4C5MaxMinCount(>=5)126346112234552103628822实现该结果的SQL 脚本如下:/* 作 者:<Rising_Sun> 创建日期:<2012-9-29> 功 能:<实现表横向聚合>*/DECLARE @t TABLE(C1 int,C2 int,C3 int,C4 int,C5 int)INSERT INTO @t VA 阅读全文
posted @ 2012-09-29 10:27 Rising_Sun 阅读(1703) 评论(0) 推荐(1) 编辑
摘要: 在项目中经常遇到求每个类别最新显示的数据,比如显示某某某类别最新更新的5条数据。特写下这个sql记录于此:-- =============================================-- 作者: <Rising_Sun>-- 创建日期: <2012-9-28>-- 描述: <显示每个类别下最新更新的n条数据>-- =============================================DECLARE @t TABLE ( NewsId INT, NewsType NVARCHAR(20), NewsTitle NVARC 阅读全文
posted @ 2012-09-28 17:17 Rising_Sun 阅读(548) 评论(2) 推荐(0) 编辑
摘要: 前一篇我们演示了基于SSL的WCF 对客户端进行用户名和密码方式的认证,本篇我们演示一下服务器端对客户端采用X.509证书的认证方式是如何实现的。项目结构及服务代码和前两篇代码是基本一样的,为了大家看着方便,再从头到尾进行一下演示。一、制作证书:本次制作证书和第一篇略有不一样,主要为了演示证书的信任链关系,我们首先创建一个证书作为证书认证中心(CA)的根证书,我们还是利用MakeCert命令创建。在“开始”菜单中打开—>Microsoft Visual Studio 2010->Visual Studio 命令提示。输入:makecert -n "CN=LXCA" 阅读全文
posted @ 2012-09-20 16:14 Rising_Sun 阅读(3804) 评论(6) 推荐(5) 编辑
摘要: 上文我们演示了,客户端对服务器端身份的验证,这一篇来简单演示一下对客户端身份的验证。比如我们发布的服务,只想让若干客户端调用和访问。这种情况应该怎么做呢,这就是今天要演示的客户端认证。对客户端的认证基本分为三种:1、 windows 身份验证2、 用户名密码方式验证3、 证书认证我们今天主要用第二种方式来对客户端进行验证。WCF的传输安全中,HttpClientCredentialType 提供了6种客户端凭证来体现服务端对客户端的认证方式,(以下对6种认证方式的解释,摘自蒋金楠《WCF技术剖析》):None: 客户端无须指定用户凭证,即匿名认证。Basic:采用Basic认证方式对客户端进行 阅读全文
posted @ 2012-09-18 15:38 Rising_Sun 阅读(2791) 评论(4) 推荐(2) 编辑
摘要: 这一篇我们利用上一篇制作的证书,来演示一个基于SSL的WCF服务,客户端需要验证服务器端的身份,服务器端不对客户端进行任何验证,即匿名客户端。一、项目结构为了演示方便,把项目分成了6层,首先说明一下项目的结构:程序集名称引用简单说明Client1控制台客户端1,调用采用控制台自宿主的WCFClient2控制台客户端2,调用采用IIS宿主的WCFHost_ServerSystem.ServiceModelLxContracts(项目中)LxServices (项目中)控制台服务端采用控制台宿主WCFHostWeb_ServerSystem.ServiceModelLxContracts(项目中) 阅读全文
posted @ 2012-09-13 16:02 Rising_Sun 阅读(3058) 评论(1) 推荐(4) 编辑
摘要: 近几日一直在学习WCF传输安全方面的知识,在园子里淘了好久,也查了不少资料,终于有所了解,遂成此文,与大家分享!一、WCF中的安全方式说到安全就会涉及到认证,消息一致性和机密性,WCF的安全方式分为两种,即传输安全和消息安全。传输安全和消息安全的区别:传输安全提供点对点的安全: 比如 A 提供服务,B和C直接连接到A,这时候A与B 及 A与C直接的传输是安全的,如果B通过C连接到A,那么A与B直接是安全的,B与C之间是不安全的。消息安全:是把安全机制都应用在消息级别上面的,能够提供端对端的安全,不管消息的路由路径多么复杂,也能保证消息的安全传输。传输安全我们一般应用在局域网中,消息安全主要应用 阅读全文
posted @ 2012-09-12 20:53 Rising_Sun 阅读(4703) 评论(7) 推荐(5) 编辑
摘要: 本文继续讲解List<T>之排序操作,C#范型List类的Sort方法有四种形式,分别是:1、不带有任何参数的Sort方法----Sort();2、带有比较器参数的Sort方法 ----Sort(IComparer<T>)3、带有比较代理方法参数的Sort方法----Sort(Comparison<(Of <(T>)>))4、带有比较起参数,可以指定排序范围的Sort方法----Sort(Int32, Int32 IComparer(T))首先对IComparable.CompareTo 方法进行一下介绍:MSDN解释:将当前实例与同一类型的另一 阅读全文
posted @ 2012-08-23 17:30 Rising_Sun 阅读(5158) 评论(0) 推荐(1) 编辑
摘要: 首先声明本文不是讨论Linq,在Framwork2.0中也不支持linq操作的,主要是记录一下List集合的使用方法。List<T> 一般主要用到的查找遍历方法:Find:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的第一个匹配元素。FindLast:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的最后一个匹配元素。Find:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的第一个匹配元素。FindLast:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的最后一个匹配元素 阅读全文
posted @ 2012-08-23 15:22 Rising_Sun 阅读(25105) 评论(0) 推荐(2) 编辑