技术人生のC#.Net篇
微醺_zZ
大师说:"没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上。"
展开
-
Newtonsoft.Json序列化和反序列
这里下载:http://www.newtonsoft.com/products/json/安装: 1.解压下载文件,得到Newtonsoft.Json.dll 2.在项目中添加引用.. 序列化和反序列在.net项目中:Product product = new Product(); product.Name = "Apple";product.Expiry = new DateTime(2008, 12, 28);product.Price = 3.99M;pro转载 2010-06-25 13:57:00 · 3468 阅读 · 0 评论 -
与基础事务管理器的通信失败原因
这两天调试程序使用分布式事务发现了“与基础事务管理器的通讯失败”这个错误,查了一些资料,发现了问题的原因:我的IIS服务器跟数据库服务器分别在两个网段上,代码中在一个事务里面进行多此的new SqlConnection()的操作超过了SQLSERVER预期的链接次数,所以就出现了上面的问题,参考文章:http://blogs.msdn.com/b/dataaccess/archiv原创 2013-05-27 11:00:22 · 4110 阅读 · 0 评论 -
Convert Image to Base64 String and Base64 String to Image
Image to Base64 Stringpublic string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format){ using (MemoryStream ms = new MemoryStream()) { // Convert Image to byte[]原创 2013-10-12 08:18:56 · 1144 阅读 · 0 评论 -
位运算知识整理
位运算操作符:~位逻辑非运算&位逻辑与运算|位逻辑或运算^位逻辑异或运算>>位右移运算using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 集合{class 位运算{public static void M原创 2014-03-26 09:54:35 · 537 阅读 · 0 评论 -
C#原始类型扩展方法—this参数修饰符
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。 扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参转载 2014-06-06 10:09:38 · 467 阅读 · 0 评论 -
谈谈C# 4.0新特性“缺省参数”的实现
C#4.0关于缺省参数的新特性,相信大家都不会陌生。所谓缺省参数,顾名思义,就是在声明方法的某个参数的时候为之指定一个默认值,在调用该方法的时候如果采用该默认值,你就无须指定该参数。和很多语言层面特性(语法糖)的实现一样,缺省参数也是编译器为我们玩的一个小花招。缺省参数最终体现为两个特殊的自定义特性OptionalAttribute和DefaultParameterValueAttribute转载 2014-06-06 10:01:27 · 638 阅读 · 0 评论 -
"服务器 '' 上的 MSDTC 不可用。"
调试程序的时候,出现异常消息“The underlying provider failed on Open”;详细信息:和{"服务器 '' 上的 MSDTC 不可用。"};网上溜达了一下下,很快解决了;解决方案: 来自heooMSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc转载 2014-07-24 14:49:55 · 1302 阅读 · 0 评论 -
C#中Lambda表达式
C#语言还是比较常见的东西,这里我们主要介绍C# Lambda表达式,包括介绍一个Lambda就是一个delegate,一个delegate指向一个方法等方面。 你有没有接触过C# Lambda表达式,有没有觉得匿名方法这东西很不错,减少了很多代码阿,但是匿名方法的使用还并不人性化,什么是人性化呢?比如你可以用自然的语言将程序代码读出来,这样才算人性化了。在.net 2.0中Sys转载 2014-09-22 10:57:45 · 579 阅读 · 0 评论 -
Type类方法的使用-判断某个类是否是某个接口的派生类
近期系统架构为以后数据集成做了一次调整,在更新完系统架构,调整Examples项目的时候发现,原系统框架中对于DTO类型的判断使用的是字符串进行比较,以前的写法如下:typeDTO.BaseType.FullName.Contains("DTOBase") 先说一下这一段代码的问题,typeDTO是传入的DTO类型,判断时使用的是其父类的类型的全类名,是否包含DTOBase,如果项目原创 2014-11-27 14:57:40 · 2710 阅读 · 0 评论 -
C#序列化与反序列化技术讲解
最近,我在做任务调度的时候,需要用到反射调用DLL中方法,在参数传递的过程中,需要用到序列化和反序列化的技术,我把调查的结果整理之后,发布在这里,希望可以帮助到大家。一、序列化和反序列化的定义序列化(Serialization):是将一个对象转换成字节流的过程。反序列化(Deserialization):是将一个字节流转换回对象的过程。——摘自《CLR Via C# 第三版》二原创 2014-12-30 17:21:40 · 611 阅读 · 0 评论 -
IQueryable和IEnumerable的区别
在新的系统框架中,常会用到IQueryable和IEnumerable这两个接口,经过一段时间的接触和学习,对于这两种类型的区别有了初步的理解。我们先来看一下这两种接口的定义:IEnumerable接口公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。也就是说:实现了此接口的object,就可以直接使用foreach遍历此object;IQueryable 接口它原创 2015-06-19 09:30:49 · 2354 阅读 · 0 评论 -
并发访问带有缓存的WebService出现的错误
前一段时间,项目组在开发过程中发现,在同一个页面使用两个HSCombobox同时访问一个WebService时会报错。根据项目组的反馈,我在系统框架的示例项目中做了重现,跟踪源代码时发现,报错的位置在HSEntityWebValidator的_cache.Add(typeName, validator);,提示信息为未将对象引用设置到对象实例。刚开始看到这个信息很迷茫,觉得无从下手,后来反复原创 2015-06-19 09:41:23 · 1182 阅读 · 0 评论 -
对代码评审的一些理解
前几天我们进行了第一次代码评审,整个项目评审过程从下午1点半持续到晚上7点,过程中杨总引导我们从各个角度去看项目代码中存在的问题,最终将会议中出现的问题落实成《代码评审检查表》,以备开发人员自查,成果显著。 这是我们各项目启动以来第一次进行代码评审,在接到这个任务之前我也没做过或参加过代码评审,为了能够更好的完成这项任务,我在网上查了一下如何做代码评审。在这里分享一下我参与过代码评审之后原创 2015-06-19 09:46:43 · 1116 阅读 · 0 评论 -
Type类方法的使用-判断某个类是否是某个接口的派生类
近期系统架构为以后数据集成做了一次调整,在更新完系统架构,调整Examples项目的时候发现,原系统框架中对于DTO类型的判断使用的是字符串进行比较,以前的写法如下:typeDTO.BaseType.FullName.Contains("DTOBase")先说一下这一段代码的问题,typeDTO是传入的DTO类型,判断时使用的是其父类的类型的全类名,是否包含DTOBase,如果项目中直接继承框原创 2015-06-19 09:43:50 · 1098 阅读 · 0 评论 -
Ext.Net MVC5 异常记录及解决办法(一)
f you are getting the errorAttempt by security transparent method ‘WebMatrix.WebData.PreApplicationStartCode.Start()’ to access security critical method ‘System.Web.WebPages.Razor.WebPageRazorHost原创 2015-07-06 21:46:35 · 1389 阅读 · 0 评论 -
C# 协变和逆变
msdn解释如下:“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。 解释的很正确,大致就是这样,不过不够直白。直白的理解:“协变”->”和谐的变”->”很自然的变化”->string->object :协变。转载 2016-05-24 14:33:07 · 308 阅读 · 0 评论 -
C#编写简单的聊天程序
C#编写简单的聊天程序引言这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。程序的分析与设计1.明确程序功能如果大家现在已经参加了工作,你的经理或者老板告诉你转载 2013-01-30 12:56:59 · 806 阅读 · 0 评论 -
C# 发送邮件示例代码(GMail和Exchange)
Gmail的示例: public void SendMailUseGmail(string MailAddress) { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add(MailAddress); msg.From = new MailAd原创 2012-12-18 09:41:46 · 5492 阅读 · 1 评论 -
关于通过反射将表中的一行数据转换成某一具体的对象
<br />刚看了CSDN中的一篇推荐的帖子,对于“我的标题”这个问题的经典代码:<br />LINQ + .Net3.0的新赋值方法:<br />using System.Collections.Generic;using System.Data;using System.Linq;using 我的应用程序.业务领域;public class MyExtensions{ public List<User> ConvertToUsers(DataTable table)原创 2010-07-29 09:05:00 · 511 阅读 · 0 评论 -
LINQ 步步学-介绍
LINQ 英文全称是“Language-IntegratedQuery”,翻译为中文为“语言集成查询”,它是用来查询数据的,特点就是:它可以查询集合、数组中的数据,也可以查询数据库中的数据,也可以查询XML 中的数据,并且语法是一样的,而且很像 SQL。LINQ 是微软首席架构师、Delphi 之父、C# 之父——Anders Hejlsberg 提出的,并由其团队着力打造的。LINQ 能查询的数据对象。比如集合、数组、字符串等等。关系。分为 LINQ to DataSet 和 LINQ t转载 2010-06-05 08:58:00 · 564 阅读 · 0 评论 -
LINQ to SQL 代码例子
使用LINQ to SQL对数据库建模: Visual Studio Orcas版中提供了一个LINQ toSQL设计器,该设计器提供了一种简易的方式,将数据库可视化地转换为LINQ toSQL对象模型。我下一篇博客将会更深入一些来介绍怎么使用该设计器(你可以观看我一月份时录制的这个关于如何从头开始创建LINQ toSQL模型的录像)。 通过LINQ to SQL设计器,我可以方便地设计出如下所示的Northwind数据库的示例模型: 上图定义了四个实体类:Product,转载 2010-06-05 10:44:00 · 783 阅读 · 2 评论 -
用接口来实现页面之间对象的传递
<br />我们知道,相对于CS程序来讲B/S程序一般进行页面之间的通讯是基于字符串的通信,通常我们使用的方法是使用url传递参数,或者通过XML,将XML转化成字符串传递到另一个页面进行解析。但有些时候这些方式对于我们实现业务逻辑会有很多弊端,比如前一页通过url传递过来一个ID参数,通常我们的做法是通过传递过来的参数再去逻辑层去访问数据库层。<br />这里我给大家介绍另外一种办法:通过实现接口来传递对象<br />首先我们来定义一个接口,比如:<br />public interface Point原创 2010-06-08 13:40:00 · 1142 阅读 · 0 评论 -
Log4Net使用指南
<br />声明:本文内容主要译自Nauman Leghari的Using log4net,亦加入了个人的一点心得(节3.1.4)。<br />请在这里下载示例代码<br />1 简介<br />1.1 Log4net的优点:<br />几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。<br />经验表明,日志记录往往是软件开发周期中的重转载 2010-06-12 09:36:00 · 343 阅读 · 0 评论 -
C#实现图片轮转效果
<br />public class ImageChangeFromDB : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here } Web Form Designer gen原创 2010-06-12 11:24:00 · 2132 阅读 · 1 评论 -
C#实现窗体抖动(确切的说叫:快速平稳移动)
刚才看论坛的帖子,发现了这段代码,收藏一下,日后可能会用到。using System;using System.Drawing;using System.Windows.Forms;namespace twitter{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } p原创 2010-06-19 08:54:00 · 662 阅读 · 0 评论 -
dll 文件反编译的工具软件
.dll 文件反编译的工具软件 <br /> 引自 http://www.cnblogs.com/xiaoxijin/archive/2007/02/24/654702.html<br /><br /><br /><br />.dll 文件反编译的工具软件: Reflector for .NET Remotesoft .NET Explorer<br />Remotesoft .NET Explorer 支持asp.net2.0<br /><br />要真正反编译.dll文件就在网站上使用该转载 2010-09-01 15:16:00 · 945 阅读 · 0 评论 -
定义泛型类
<br />前言:<br />要创建泛型类,只需在类定义中包含尖括号语法。<br /> <br />其中T可以是任意标识符,只要遵循通常的C#命名规则即可,例如不以数字开头等。<br /> <br /> <br />泛型类可以在其定义中包含任意多个类型,它们用逗号分隔开。<br />定义了这些类型之后,就可以在类定义中像使用其他类型那样使用它们。可以把它们用作成员变量的类型、属性或方法等成员的返回类型,方法变元的参数类型等。<br />新建Animal类:<br /> <br />public abstra原创 2010-10-22 17:13:00 · 803 阅读 · 0 评论 -
.NET 里操作Excel 出现有些列的数据取不到的问题
错误重现:-----------------------------------------------------------------------在导入Excel读取数据时,其中的一个字段保存的值有如下格式:"2011072014","20110Aad10","25124Adfa","例子asdfadf" 这样的混合了 "字母/数字/中文"数据,在Excel表格中的前 8条 或原创 2012-03-02 16:28:39 · 607 阅读 · 0 评论 -
TFS(Team Foundation Server)介绍和入门 .
在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是如何将这些特性结合在一起使用的。作为一名软件开发人员,在我的职业生涯中,我经常会用到支持软件开发过程的大量开发工具,如版本控制工具、漏洞跟踪包、生成脚本语言、单元测试框架和需求分析工具等等。在.NET平台上,大量的支持工具能够很好地独立工作,但是,为了使得各种工具之间都够互相协转载 2012-06-03 21:07:43 · 1181 阅读 · 0 评论 -
VS.Net 临时文件清理
如果运行VS.Net时间长了,你会发现在C:\Users\用户名\AppData\Roaming\Microsoft\VisualStudio\9.0\ReflectedSchemas目录下有很多临时文件,可能占用几个G的空间。如果你的磁盘空间比较紧张,可以清理该文件夹下的文件。清理后还需要删除C:\Windows\Microsoft.NET\Framework\v2.0.50727\Tempor原创 2012-07-26 17:13:52 · 2583 阅读 · 0 评论 -
C#对多个集合和数组的操作(合并,去重,判断)
C#对多个集合和数组的操作(合并,去重,判断)在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 首先举例2个集合A,B. List listA = new List {1,2,3,5,7,9}; List listB = new List {13,4,17,29,2};转载 2012-09-06 15:02:01 · 1540 阅读 · 0 评论 -
ConnectStream下载网络图片转成MemorySteam下载到本地
string strUrl = "http://a0.att.hudong.com/81/05/01300000251000122717054330183.jpg";WebRequest webreq = WebRequest.Create(strUrl);WebResponse webres = webreq.GetResponse();Stream stream = webres.Get原创 2012-09-22 15:51:24 · 2784 阅读 · 1 评论 -
asp.net 获得域名,端口,虚拟目录
记性不好,好多次都被路径问题给拦住了.我现在想得到一个资源的全URL路径,因此首先想得到网站当前的域名,端口和虚拟目录.看下表底下這張表就是各種跟 Browser Request 的網址相關的屬性與用法: 網址:http://localhost:1897/News/Press/Content.aspx/123?id=1#tocRequest.Applic转载 2012-12-25 17:13:40 · 3261 阅读 · 0 评论 -
Web.config加密解密 RsaProtectedConfigurationProvider报错解决办法
此问题根本原因在于,RSA密钥容器在本机可用,但测试环境有问题。 解决办法,将本机的RSA秘钥容器导出到xml文件,将文件Copy到测试环境,使用命令导入到测试环境的RSA容器中,具体操作如下,Step 1,打开VS命令行工具,路径如下:C:\Program Files (x86)\MicrosoftVisual Studio 12.0\Common7\原创 2016-06-21 16:27:54 · 1393 阅读 · 0 评论