[01]C#&编程
奋斗的小壁虎
从事软件行业多年,微软技术.Net平台开发者、实践者。
展开
-
VS2019 Web应用如何添加Area区域:新搭建基架的项目
貌似跟以往不一样,VS2019 Web应用如何添加Area区域:新搭建基架的项目,如下图 2、弹出“添加已搭建基架的新项”对话框,选择“区域”5、后续添加控制器及视图等不做赘述。3、填写新基架项目名称-Area。原创 2023-07-05 09:47:37 · 333 阅读 · 0 评论 -
通过VS2019 + Git 上传本地代码至云效代码管理 Codeup
通过VS2019 + Git 上传本地代码至云效代码管理 Codeup。1、云效代码管理 Codeup账户免费申请地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台2、Codeup - 创建项目代码库3、VS - 正常打开项目解决方案原创 2022-12-28 15:31:54 · 1061 阅读 · 0 评论 -
UML领域模型和类图
这里有一片很有意思的文章,讲类图里出现的各种关系,有兴趣的童鞋请戳这里~-------------------------------------------------------------------------分割线------------------------------------------------------------------------泛化(Gener转载 2014-04-17 20:19:12 · 43879 阅读 · 2 评论 -
域模型
1域模型的定义2域对象3域对象的分类4域对象之间的关系5域模型的分类1域模型的定义编辑在软件开发领域,模型用来表示真实世界的实体。在软件开发的不同阶段,需要为目标系统创建不同类型的模型。在软件设计阶段,需要创建域模型。在软件设计的各个阶段都要使用到域模型。域模型模式的作者 Martin Fowler 给出了以下定义(Fowler,2003 年原创 2014-04-17 20:32:56 · 3843 阅读 · 0 评论 -
架构设计和包图
包组织原则将在功能上有紧密联系的、垂直或水平的切片打包将一族接口打包将一组不稳定的类打包提取独立的类型利用工厂(factory)来降低实体包之间的依赖不要在包中出现回路提示:功能性相关的类。一般说来,决定类之间是否有功能性联系,可以看是否满足以下条件:在一个类里发生变化会影响到另一个类;移除一个类将会影响另一个类;两个类之间有复杂的内部交互或是互相传递大量的信息;如原创 2014-04-17 20:29:25 · 3788 阅读 · 0 评论 -
如何定义领域模型(概念模型)
作为OOAD中的第二步,概念模型的识别显得比用例识别更加困难。为什么要创建领域模型降低与OO建模之间的表示差异。领域层软件类的名称要源于领域模型中的名称,以使对象具有源于领域的信息和职责。打个比方,你可以用一长串0和1来表示“薪水册”,可是这种软件表示与我们脑中的薪水册领域模型之间存在巨大的差异,这将影响我们对软件的理解和修改。而OO建模则可以减小这一差异。转载 2014-04-17 20:24:58 · 9801 阅读 · 0 评论 -
面向对象设计原则
单一职责原则单一职责原则,SRP(The Single – Responsibility Principle)规定,一个类只能有一个引起它变化的原因。在SRP中,我们定义一个类的职责就是”改变它的原因“。如果你能想到N个动机去改变一个类,那么这个类就具有多于一个的职责。原因:如果一个类负责了两个职责P1和P2,那么当我们需要更改P1时,可能会造成P2发生故障。解决方转载 2014-04-17 20:16:59 · 832 阅读 · 0 评论 -
PlusScan.dll
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Sy原创 2013-12-12 17:31:22 · 725 阅读 · 0 评论 -
c#添加水印效果【1】
下面的代码中 添加文字水印 和 图片水印是不能共存的(下面写在一起是为了方便显示)private void Btn_Upload_Click(object sender, System.EventArgs e) { if(UploadFile.PostedFile.FileName.Trim()!="") {转载 2013-09-05 16:10:18 · 986 阅读 · 0 评论 -
关于List<T> :Distinct 和 OrderBy 、GroupBy使用简例
截取代码:var systemList = scoList.FindAll(x => x.PServiceTypeID == serviceTypeId); systemList = systemList.Distinct(new S原创 2011-07-28 11:43:42 · 1301 阅读 · 0 评论 -
一点一滴掌握WPF应用系列 - 之五:WPF异步载入图片,附带载入中动画
WPF异步载入图片,附带载入中动画最近,在做一个WPF项目。项目中有一个需求,就是以列表的方式显示出项目图片。这些图片有的存在于互联网上,有的存在于本地磁盘。存在本地磁盘的文件好说,主要是存在于网络的图片。因为存在于网络的图片,在载入时需要耗费时间,如果直接给Image控件绑定URI属性的话,会造成界面卡顿。为了提供更好的体验,要求有类似网页中图片载入中的特效。经过两天的研究,我翻看了爱壁...原创 2013-07-30 15:19:18 · 6486 阅读 · 1 评论 -
WPF 多点触控开发资料整理
1、Win7多点触控环境搭建。2、使用Kinect 进行图片浏览3、WPF4 中的多点触控操作事件4、WPF 中的多点触控操作事件 基于WPF的多点触摸GIS系统—在线播放—优酷网,视频高清在线观看 [17P+视频]QQ概念版多图赏析和触摸演示视频_Tencent 腾讯 QQ_cn...原创 2013-02-27 13:18:23 · 2328 阅读 · 0 评论 -
Visual Studio 2008/2010中Xaml开发格式设置技巧
在Silverlight和WPF项目开发中,经常要和Xaml语言打交道,大家都知道,一个清晰明了的开发语言布局可以让开发人员方便,快捷的阅读和理解代码,这里我介绍几个Xaml开发布局设计技巧。 这里我用Visual Studio 2010作为演示,首先打开VS2010,然后选中菜单栏 Tools -> Options -> Text Editor -> XAML ->会看到以下效果:转载 2013-03-27 05:51:00 · 1196 阅读 · 0 评论 -
WPF学习资料整理
WPF三维概述 WPF编程学习——窗口 WPF编程学习——布局 WPF编程学习——样式 WPF3D学习,立方体的绘制 WPF3D场景中的鼠标响应事件 Ab3d.PowerToys WPF 3D编程介绍Electric Rain Swift 3D 6 和 ZAM 3D 汉化发布 http://blog.sina.com.cn/s/b原创 2013-03-27 21:37:01 · 3015 阅读 · 0 评论 -
Web.Config:ConfigurationSection 使用示例
ConfigurationSection类主要是方便我们用于扩展自定义webcongfig中的节点信息。我们可以方便的通过以下方式获取【自定义节点对象】【你自定义的对象】 config = (【你自定义的对象】)ConfigurationManager.GetSection("【你自定义的节点名称,如果是sectiongroup的话,请使用XPATH方式】");使用自定义节点,可能会涉及到转载 2013-06-04 14:26:31 · 5021 阅读 · 0 评论 -
.Net 判断邮箱在域中是否存在
详见代码:希望对您有所帮助!/// /// 功能:查询域中是否存在某账户邮件地址 /// 作者:Kevin.Chen /// 日期:2013年02月26日/// public static bool GetADResult(string adEmail){ var Domain = "ssicn.com"; var ADUsername原创 2013-02-26 17:22:11 · 1202 阅读 · 0 评论 -
关于Redis技术文章整理(C#.NET)
本文主要贴一些学习链接:以便查看。(一):C#中使用Redis学习一 windows安装redis服务器端和客户端(二):C#中使用Redis学习二 在.NET4.5中使用redis hash操作(三):在c#中使用servicestackredis操作redis(很具体操作:五颗星)(四):Redis安装及C# 调用(五):win7x64下的redis安装与使用(六):R...原创 2019-06-06 12:30:04 · 166 阅读 · 0 评论 -
SharePoint2010无域环境的安装配置图解
今天对SharePoint2010进行安装配置,我是安装在虚拟机里,没搞域环境;在SharePoint2010安装完后,马上运行配置向导在“指定数据库配置”步骤时,要求输入访问配置数据库的帐户及密码,会提示当前用户为“本地用户”只能独立模式下使用的错误。为此我记录了解决没域环境下进行配置的截图。以供观客参考: 这里首先说一下我先前安装的操作系统与软件。 1、操作系统:Win原创 2015-12-01 16:24:51 · 3648 阅读 · 0 评论 -
一点一滴掌握WPF应用系列 - 之一:画刷使用SolidColorBrush、LinearGradientBrush、RadialGradientBrush
WPF中有几种画刷使我们在做效果时经常会用到的,今天就来讲讲几种画刷的使用。1、纯色画刷SolidColorBrush:故名思议这个画刷就是给背景色或者前景色进行单一着色,就一种色彩。前端实现代码(XAML): <Button>我是按钮Button1 <Button.Background> ...原创 2015-10-14 10:53:04 · 15111 阅读 · 0 评论 -
EntityFramework 执行SQL语句进行参数化查询代码示例
在我们用EntityFramework时,一般情况下我们是要将数据库表或对象添加到edmx文件中,以建立数据映射模型;从而进行后续的增删查改。但有时在做老系统维护或改造时,会发现老系统代码中有很长的拼装SQL语句,好多这个连接那个连接非常复杂(能有上千行之多啊,如在现在我们可能就用存储过程处理了,但碍于风格统一,客户限制等),这时去理清里面的关系,再将需用到的表添加大edmx中,再按照连接关系去用原创 2015-10-09 17:05:11 · 8989 阅读 · 0 评论 -
C#.Net的魅惑
.NET 开源、免费、跨平台(Windows Server、Linux、Mac,老板再也不用担心服务器授权费用了)、MVC、SignalR、Rx、Entity Framework、IOT物联网、Xamarin跨平台移动开发(C#)、微软Azure云。简洁、优雅、高效的C#语言,神一样的C#创始人Anders Hejlsberg,async/await编译器级异步语法,N年前就有的lambd原创 2015-10-10 14:11:10 · 722 阅读 · 0 评论 -
VS2010 + Win7+ IIS7.5 开发调试ASP实战
做外包的时候,难免会遇到维护老的项目而去接触到老的技术,ASP就是微软早先的Web开发技术。而目前我们已经用VS这个工具做Web开发了,里面的调试都是非常方便的。做ASP维护性开发时,不免也想用VS来调试开发,其实也是可以的,这里把实践截图贴出来,方便需要者借鉴一下。这里直接上图了。1、2、3、4、5、6、7、8、9、10原创 2015-07-24 11:54:33 · 4769 阅读 · 1 评论 -
VS2012 + EF6.x + MySql 开发环境搭建问题 --- 终结篇
本文针对在用VS2012或VS2013、EF6.x、MySql开发项目,搭建环境时遇到的问题做一贴图记录并给与针对性解决办法。也谨以此文献给那些遇到这些问题还在艰苦奋战的同学,给予他们以切实可行解决方法,救他们于水火之中,O(∩_∩)O~。在用VS2012配合EF5.x时候一般都比较顺畅,这里就不多说了。但在EF5.x的基础上换用EF6.0的时候,而且使用Mysql的时候;大家或许就遇到这样活原创 2015-07-29 12:05:08 · 8803 阅读 · 5 评论 -
关于.Net路径
//获取包含清单的已加载文件的路径或 UNC 位置。 public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location;//result: X:\xxx\xxx\xxx.dll (.dll文件所在的目录+.dll文件名)//获取当前进程的完整路径,包含文件名(进程名)。str转载 2015-02-05 13:21:40 · 646 阅读 · 0 评论 -
WPF技术触屏上的应用系列(一): 3D 图片(照片)墙、柱面墙(凹面墙或者叫远景墙、凸面墙或者叫近景墙)实现
去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用。客户端是Window7操作系统,54寸大屏电脑电视一体机。要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作。当然满足客户的要求也可以有其它途径。但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用。所以在项目接来以后,也就赶鸭子上架了,...原创 2019-10-08 16:02:19 · 15649 阅读 · 20 评论 -
WPF技术触屏上的应用系列(六): 视觉冲击、超炫系统主界面、系统入口效果实现
去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用。客户端是Window7操作系统,54寸大屏电脑电视一体机。要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作。当然满足客户的要求也可以有其它途径。但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用。所以在项目接来以后,也就赶鸭子上架了,...原创 2014-07-06 18:29:26 · 24146 阅读 · 25 评论 -
WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放、播放、暂停、可拖动播放进度效果实现
去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用。客户端是Window7操作系统,54寸大屏电脑电视一体机。要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作。当然满足客户的要求也可以有其它途径。但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用。所以在项目接来以后,也就赶鸭子上架了,...原创 2019-10-08 16:04:49 · 11684 阅读 · 30 评论 -
WPF技术触屏上的应用系列(四): 3D效果图片播放器(图片立体轮放、图片立体轮播、图片倒影立体滚动)效果实现
去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用。客户端是Window7操作系统,54寸大屏电脑电视一体机。要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作。当然满足客户的要求也可以有其它途径。但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用。所以在项目接来以后,也就赶鸭子上架了,...原创 2014-07-05 23:26:14 · 15415 阅读 · 33 评论 -
WPF技术触屏上的应用系列(五): 图片列表异步加载、手指进行缩小、放大、拖动 、惯性滑入滑出等效果
去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用。客户端是Window7操作系统,54寸大屏电脑电视一体机。要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作。当然满足客户的要求也可以有其它途径。但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用。所以在项目接来以后,也就赶鸭子上架了,...原创 2019-10-08 16:05:29 · 14147 阅读 · 4 评论 -
WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现
去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用。客户端是Window7操作系统,54寸大屏电脑电视一体机。要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作。当然满足客户的要求也可以有其它途径。但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用。所以在项目接来以后,也就赶鸭子上架了,...原创 2019-10-08 16:03:41 · 11838 阅读 · 9 评论 -
关于WCF安全方面文章整理:SSL 数字证书认证服务
【实践】WCF 传输安全 1 前期准备之证书制作【实践】WCF传输安全2:基于SSL的WCF匿名客户端【实践】WCF传输安全3:基于SSL的WCF对客户端验证【实践】WCF传输安全3:基于SSL的WCF对客户端验证WCF4.0 -- RESTful WCF Services(创建基于SSL的服务)安装windows server 2003 证书服务(CA) 企业数字证书认证服务原创 2012-12-17 13:46:20 · 1479 阅读 · 0 评论 -
【MS】开发人员需要搞清楚的几个问题
1、事务的隔离级别 微软官方:http://technet.microsoft.com/zh-CN/library/ms175909 (一)数据库隔离级别有哪些 (二)SQL锁机制和事务隔离级别1 (三)SQL锁机制和事务隔离级别2 2、数据库死锁 (一)数据死锁相关 3、多线程及多线程死锁 (一)【周公】多线程编程(原创 2012-11-20 17:22:07 · 581 阅读 · 0 评论 -
.Net关于对象的销毁(IDisposable和using) - 非托管资源
CLR 有一个 垃圾收集GC 机制,可以管理内存分配和回收等工作,在绝大多数情况下,程序员只需要new 一个对象,而将销毁这一对象的工作完全交给CLR代劳。 但是,我们所编写的类中使用了非托管的资源,比如文件句柄,用于线程同步的Mutex对象,或者是数据库连接,这些资源应该遵循“即需即建即销毁”的原则, 这就是说:需要的时候才创建这些对象,用完之后就马上销毁。转载 2012-11-21 17:01:18 · 1859 阅读 · 0 评论 -
多线程学习系列:(四)线程同步基础下
<br />回顾一下上次,我们讨论了lock/AutoResetEvent/ManualResetEvent以及Semaphore。这些用于线程同步的结构叫做同步基元。同步基元从类型上可以分为锁定/通知/联锁三种。lock显然锁定方式,而且是独占锁定,也就是在锁释放之前不能由其它线程获得。 Semaphore也是一种锁定,只不过不是独占锁,可以指定多少个线程访问代码块。AutoResetEvent和ManualResetEvent当然就是通知方式了,前者在通行之后自动重置,后者需要手动重置。我们还看到了即使转载 2011-01-27 11:30:00 · 489 阅读 · 0 评论 -
多线程学习系列:(七)基于多线程的基本组件
<br />在多线程应用中我们有一些很常见的需求,比如定时去做计划任务,或者是在执行一个长时间的任务,在执行这个任务的过程中能有进度显示(能想到要实现这个需求需要新开一个线程,避免阻塞UI的更新)。对于这些应用.NET提供了现成的组件。<br /> 首先来看一下System.Threading的Timer组件,它提供了定时执行某个任务的方法:<br />ThreadPool.SetMinThreads(2, 2); <br />ThreadPool.SetMaxThreads(4, 4); <br /><转载 2011-01-27 11:33:00 · 637 阅读 · 0 评论 -
多线程学习系列:(六)线程池基础下
<br />这节我们按照线程池的核心思想来自定义一个简单的线程池:<br /> 1) 池中使用的线程不少于一定数量,不多于一定数量<br /> 2) 池中线程不够的时候创建,富裕的时候收回<br /> 3) 任务排队,没有可用线程时,任务等待<br /> 我们的目的只是实现这些“需求”,不去考虑性能(比如等待一段时间再去创建新的线程等策略)以及特殊的处理(异常),在实现这个需求的过程中我们也回顾了线程以及线程同步的基本概念。<br /> 首先,把任务委托和任务需要的状态数据封装一个对象:<br /转载 2011-01-27 11:32:00 · 488 阅读 · 0 评论 -
多线程学习系列:(五)线程池基础上
<br />池(Pool)是一个很常见的提高性能的方式。比如线程池连接池等,之所以有这些池是因为线程和数据库连接的创建和关闭是一种比较昂贵的行为。对于这种昂贵的资源我们往往会考虑在一个池容器中放置一些资源,在用的时候去拿,在不够的时候添点,在用完就归还,这样就可以避免不断的创建资源和销毁资源。<br /> 如果您做过相关实验的话可能会觉得不以为然,似乎开1000个线程也用不了几百毫秒。我们要这么想,对于一个高并发的环境来说,每一秒假设有100个请求,每个请求需要使用(开和关)10个线程,也就是一秒需要处理转载 2011-01-27 11:31:00 · 520 阅读 · 0 评论 -
多线程学习系列:(三)线程同步基础上
<br />其实,如果线程都是很独立的,不涉及到任何资源访问的,那么这些毫无干扰的线程不会产生什么问题。但是在实际应用中我们的线程总是涉及到资源访问的,而且往往涉及到共享资源的访问,那么就产生了线程同步的问题。一直觉得线程同步这个名词很奇怪,字面上看同步就是使得步调一致,线程同步是不是就是让线程步调一致的访问资源呢?事实上反了,线程同步恰巧是让线程不同时去访问资源而是去按照我们期望的顺序依次访问资源(是同步资源访问的行为而不是同步同时访问资源)。一句话,多个线程(不仅仅局限于相同进程)如果需要访问相同的可变转载 2011-01-27 11:28:00 · 498 阅读 · 0 评论 -
多线程学习系列:(一)前言
<br /> 作为一个ASP.NET开发人员,在之前的开发经历中接触多线程编程的机会并不是很多,但是随着.NET 4.0的发布临近,我越来越感受到未来的1-2年中并行计算将会有很大的应用。于是决定通过写日志的方式来总结一下.NET 3.5下的多线程编程进而引入.NET 4.0提供的新的并行库以及新的并行编程模式和编程的思维方式。<br /> 个人觉得在日常的编程中对于ASP.NET程序员来说使用多线程编程不是很多,其实我们无时无刻不在享受多线程的优势。首先,WEB服务器环境就是一个多线程环境,每转载 2011-01-27 11:27:00 · 584 阅读 · 0 评论 -
WinForm:实现类似QQ消息框一样的右下角消息提示窗口
实现方法 效果示例图 第一步,建立一个Windows Application,然后在主form中放置一个Button,如下图所示:第二步,给这个Application添加一个窗体(Form2),把窗体的FormBorderStyle属性设置为None(无边框模式),然后把TopMost属性(总在最上方)属性设置为True,把ShowInTaskbar属性(是否在 Windows 任务栏中显示窗体)设置为False,并在窗体上加上你打算要显示的文字(实际应用中一般是在程序中动态加载),将窗体的背景设置为你转载 2011-01-26 10:52:00 · 9697 阅读 · 0 评论