.net技术
文章平均质量分 60
simonezhlx
专注.net技术,对java和嵌入式开发都有兴趣,可惜为了生计还是要用C#来给PC写代码.热衷设计模式,最近在学习框架设计方面的东西.当然如果你有工作流方面的问题想讨论,也别忘了算上本人.
展开
-
BSOD Diagnostics
The BSOD issue has been bugging me for a while. :tired_face: At the very begining, I thought it’s regardless of our App because I don’t think our service(a windows service running under local service原创 2016-09-09 11:56:36 · 491 阅读 · 0 评论 -
ashx是什么文件
<br />.ashx文件用于写web handler,使用.ashx可以让你专注于编程而不用管相关的WEB技术。.ashx对应的类继承于IHttpHandler,所以,.ashx必须包含IsResuable属性,必须实现ProcessRequest方法。<br />IHttpHandler接口,定义ASP.NET为使用自定义HTTP处理程序同步处理HTTP Web请求而实现的协定。<br />IsResuable属性指的是IHttpHandler是否可以被再次使用。<br />ProcessRequest转载 2010-12-22 17:19:00 · 1250 阅读 · 0 评论 -
小枚举,大文章
Q:在C#里,我们如何表达枚举类型?<br /><br />A:你可以使用enum关键字(keyword)来声明一个枚举类型(enum type):<br /><br />// Code #01<br />public enum Alignment<br />{<br />Left,<br />Center,<br />Right<br />}<br /><br />-----------------------------------------------------------------------转载 2010-10-11 10:33:00 · 759 阅读 · 0 评论 -
开源网站总结
<br />代码搜索平台:<br /><br /><br />SourceForge<br /> <br />一个非常优秀的有多年历史的老牌开源项目共享平台。<br />CodePlex<br /> <br />微软的一个开源项目分享平台,你可以在上面创建项目同全世界分享。<br />Google Code Search <br /> <br />Google的代码搜索引擎,凭借自己的搜索技术优势,可想而知这也是一个优秀的网站。<br />CodeProject<br /> <br />一个不错的代码转载 2010-08-20 08:59:00 · 1009 阅读 · 0 评论 -
向导页的可选控件 MultiView
以下为MSDN中对于MultiView 的介绍:MultiView 控件可用作一个或多个 View 控件的外部容器。而 View 控件可以包含标记和控件的任意组合。您可以使用 MultiView 和 View 控件来执行各种任务,例如基于用户选择提供替换控件集或者创建多页表单。而做过winform开发的朋友可以近似的理解成tabcontrol,而每一个View就是一个具体的Tab。原创 2010-05-12 09:51:00 · 695 阅读 · 0 评论 -
利用反射来做算、逻运算
最近看到论坛有的朋友在问,什么算法来完成 算术表达式的格式到值的计算。正好之前自己在项目中用到过,所以在这里分享一下。 先附上一个之前找到的只进行常规算术运算的方法,首先声明,该方法用于对比,并不推荐使用。上代码:/// /// 计算算术运算表达式(非反射) /// /// 表达式字符串 /// 表达式的值 public static string原创 2010-03-30 13:56:00 · 1316 阅读 · 1 评论 -
常见EXCEPTION
C#异常类一、基类ExceptionC#异常类二、常见的异常类1、SystemException类:该类是System命名空间中所有其他异常类的基类。(建议:公共语言运行时引发的异常通常用此类)2、ApplicationException类:该类表示应用程序发生非致命错误时所引发的异常(建议:应用程序自身引发的异常通常用此类)C#异常类三、与参数有关的异常类此类异常类均派生于S转载 2010-03-29 14:26:00 · 968 阅读 · 0 评论 -
如何伪装.aspx后缀
ASP.NET开发的站点程序后缀为.aspx,但如果不想用这样的后缀可以吗?答案当然是肯定的,lets go. 先来说一下ASP.NET 1.1中的方法: 1.IIS映射(IIS->默认网站->属性->主文档->配置->映射->添加): 新的扩展名 ----> C:"WINNT"Microsoft.NET"Framework"v1.1.4322"aspnet_isapi.dll原创 2009-12-08 10:31:00 · 1708 阅读 · 0 评论 -
Windows 服务 与 Web服务中访问网络驱动器的问题(ERROR [HY024])
因为要连第三方库(access数据库),自然而然的就想到通过ODBC数据源来连接,数据源连接没有问题,但是在数据服务中访问该数据源时,出现异常“ERROR [HY024] [Microsoft][ODBC Microsoft Access Driver] (未知的)不是一个有效的路径。。。。”,经反复测试,如果ACCESS文件在本机,创建数据源时指向本地文件没有问题;或者在W原创 2009-09-24 16:01:00 · 1767 阅读 · 0 评论 -
Web服务中调用office pia 操作WORD,EXCEL时需做的设置
前一段,在项目现场因为需要在服务端操作WORD文档,所以直接把之前开发的在客户端用的模块放到Web服务中来使用.使用中发现是有问题的,首先,调用包装后的操作(word操作)接口时,会出现无权限之类的异常,查资料后,做了如下设置: 1.打开 管理工具--> 组件服务-->DCOM配置 2.选择 Microsoft Word 文档 或是 类似的名称(不同的OFFICE版本原创 2009-09-09 18:48:00 · 1147 阅读 · 0 评论 -
因为单元格处于编辑状态,OFFICE控件报IO异常 之 变通解决之道
同事最近在项目中在使用DSOFRAMER实现 EXCEL 在线编辑功能,但是在实现电子签名功能时,因为要插入图片,但是测试发现如果某个单元格处于编辑状态,在调用插入图片的方法就会抛IO异常.在EXCEL中测试发现,单元格如果处于编辑状态的话,菜单和工具也是不可用的,因为他试了很多方法,偶就变通了一下,只要让单元格失去编辑状态,那IO异常就不存在了.于是就在调用添加图片前,先设置当前控件为焦点控原创 2009-06-22 13:49:00 · 813 阅读 · 0 评论 -
位域
<br />先来看看位域的概念:<br />位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。<br /> <br />struct bs <br原创 2011-05-06 18:20:00 · 781 阅读 · 0 评论 -
.net Reflector 变成付费产品了
差不多十年前Lutz Roeder开发的大名鼎鼎的.net Reflector相信大家都知道,.net Reflector之前一直是免费的,如今却要变成一款收费的“产品”!这要“感谢”Red Gate 软件公司.很不幸,该事已经被证实了,早在听说Lutz决定把Reflector授翻译 2011-07-12 17:41:56 · 1527 阅读 · 0 评论 -
Tutorial: Installing Multi-Touch Vista
"Multi-Touch Vista is a user input management layer that handles input from various devices (touchlib, multiple mice, TUIO etc.) and normalises it against the scale and rotation of the target window原创 2015-08-17 17:43:47 · 1597 阅读 · 0 评论 -
用WinDbg探索CLR世界 [3] 跟踪方法的 JIT 过程
来源: http://www.blogcn.com/blog/cool/main.asp?uid=flier_lu&id=1678453本来想按照sos的帮助文件上命令的分类逐步介绍WinDbg下使用sos调试CLR程序,但发现这样实在不够直观。索性改成根据我分析CLR的实际案例,stepbystep介绍功能,这样结构上虽然混乱一点,但更加直观,也易于上手:P前面两篇文章里面分别介转载 2014-12-12 14:17:31 · 2240 阅读 · 0 评论 -
Composition(组合)与Aggregation(聚合)的区别
之前划类图,对于二者的区别始终没有搞太明白,多数情况下都会选择使用Composition. 今天有时间就查阅了一些资料,把我新的理解在这里和大家分享一下:1. 若论两种关系表示的强弱程度,Composition应该更强一些,这也是为什么在图中会以一个实心菱形来代表。反之,聚合使用的是空心菱形。见下图.2. Composition表示的是'Part-of'的关系, 以图1为例原创 2013-04-26 17:28:21 · 21549 阅读 · 1 评论 -
类型推断
By Bill WagnerMay 2012序言本文与下面这行无法编译的代码有关:var lambda = x => x.M();编译器给出的错误是:CS0815: “Cannot assign lambda expression to implicitly typed local variable(无法将Lambda表达式赋给一个隐性类型局部变量).”本文中,我会解释控制翻译 2012-07-04 17:05:03 · 3015 阅读 · 0 评论 -
可选参数
Justification for Names and Optional Parameters可选参数By Bill WagnerMarch 2012 不少开发人员问我为什么C#早期版本中不支持可选参数。可选参数在其它语言中展示了其很有益的特性。特别是当你写了一个有大量参数的方法,而该方法中的一部分参数有其合理的默认值的情况下.基于Office API的COM组件就是一个明显的翻译 2012-06-04 23:16:15 · 2702 阅读 · 0 评论 -
LINQ与生产率
By Bill WagnerJanuary 2012 自从c#3.0引入LINQ后,它已经改变了不少C#开发者的编码习惯。然而,似乎仍有数量不少的c#开发者社区仍未完全采用它。我和那些还没有把LINQ作为他们日常开发工具的程序员聊过,原因有二,其一是他们没有充足的时间学习LINQ,其二是一部分人的老板还没有把LINQ作为它们工作中可应用的技术之一。他们应该感到羞愧,因为LINQ的函翻译 2012-03-31 23:04:23 · 949 阅读 · 0 评论 -
深入扩展方法
Thomas LebrunMicrosoft C# MVP本文介绍了c#3.0中的一个新特性—扩展方法。扩展方法使程序员无需通过继承或重编译原程序集等途径来向原有类型中增加新方法。甚至一些你可能都没有源程序的程序集中的类型也可以增加。比如“System.String”。初看扩展方法因为扩展方法可能难于理解。我们先来看看一个传统的示例。看看下列简单的程序:虽然上述程序翻译 2012-03-06 22:46:46 · 981 阅读 · 0 评论 -
.Net Framework下的多线程安全集合
每个正式发布的.net framework版本在增加特性时,都会着眼于那些对于当今程序员有挑战的问题上。.net framework 4.0增加了一个新的System.Collections.Concurrent命名空间,使得多线程开发中不同线程间共享数据的问题解决起来更加轻松。特别是当你打算实现一个 producer/consumer 模式时,新提供的相关集合将会帮助你完成不少工作。.net 4翻译 2012-03-03 15:37:26 · 6146 阅读 · 0 评论 -
如何在.net应用中发现和避免内存和资源泄露
如何在.net应用中发现和避免内存和资源泄露By Fabrice Marguerie尽管很多人相信在.net应用中谈及内存及资源泄露是件很轻松的事情。但GC(垃圾回收器)并不是魔法师,并不能把你完全从小心翼翼处理内存与资源损耗中解放出来。本文中我将解释缘何内存泄露依然存在以及如何避免其出现。别担心,本文不涉及GC内部工作机制及其它.net的资源及内存管理等高级特性中。理解泄露本翻译 2012-02-27 23:35:44 · 8842 阅读 · 0 评论 -
RCW 话你知
由于目前加入了一个负责将原有系统移植至.net平台的项目组,花了些时间对com-->.net进行了些基础研究。贴出此文,希望和各位分享。不足之处,请各位指正。先谢啦。 一、基础概念 什么是com interop?com interop看上去象是介乎于com和.net之间的一条纽带,一座桥梁。为了保持向后兼容,com interop能使得.net程式在不修改原有com组件的前提下方便的访问co转载 2009-06-17 10:39:00 · 933 阅读 · 0 评论 -
也许你不知道的c#基本数据类型及其默认值
//值类型C# 类型 .NET Framework 类型bool System.Boolean 4Byte 32bit布尔型变量 逻辑值,true或者false,默认值为falsebyte System.Byte 1Byte 8bit无符号整数无符号的字节,所存储原创 2009-04-22 11:36:00 · 4549 阅读 · 0 评论 -
.net中的4种事务总结-1
1 SQL事务 sql事务是使用SQL server自身的事务:在存储过程中直接使用Begin Tran,Rollback Tran,Commit Tran实现事务:优点:执行效率最佳限制:事务上下文仅在数据库中调用,难以实现复杂的业务逻辑。Demo:(所有demo,都以SQL Server自带的Northwind数据的表Region为例)带事务的存储过程Code highlighting转载 2008-02-03 11:15:00 · 975 阅读 · 0 评论 -
.net中的4种事务总结-3
3 TransactionScope事务 TransactionScope事务类,它可以使代码块成为事务性代码。并自动提升为分布式事务 优点:实现简单,同时能够自动提升为分布式事务Demo:TransactionScope事务Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlig转载 2008-02-03 11:18:00 · 1135 阅读 · 0 评论 -
.net中的4种事务总结-2
2 ADO.net事务 Ado.net事务可能是大家一般都用的 优点:简单,效率和数据库事务差不多。 缺点:事务不能跨数据库,只能在一个数据库连接上。如果是两个数据库上就不能使用该事务了。Demo:ADO.net事务Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter转载 2008-02-03 11:17:00 · 2772 阅读 · 1 评论 -
一个国内技术专家参加MCA面试的失败经历
IT领域名目繁多的认证已经让人见多不怪了,但是作为软件行业最高的两个认证之一,MCA(Microsoft Certificated Architect)考试一直以高考试费用、高经验门槛和低通过率著称。在本周悉尼进行的MCA面试中有来自中国大陆的技术专家参与,下面是与他交流中他谈及的一些体会。不论是MCA考试一万美元的考试费用,还是10年的软件从业经验,任何一个条件对于已经对很多考试麻木的国内I转载 2007-09-25 15:07:00 · 915 阅读 · 0 评论 -
Windows Workflow Foundation(四)——(创建自定义活动)
WWF包含了一组丰富的通用用户活动,这些能满足绝大多数的场景的需求。但有时,我们还是会碰到需要一些更加自定义的活动的场景。WWF SDK拥有一些可扩展的特性,能使你轻松的创建自定义的活动,并把他们应用到你的解决方案中。在这一节中,我们会编写一个自定义活动,用来根据传入工作流的参数,从网页中下载文本。 创建一个网页解析自定义活动 这个自定义活动会根据传入活动的网页属性集,从网页中下载转载 2007-04-27 16:27:00 · 1139 阅读 · 0 评论 -
Invoke 和 BeginInvoke 的真正涵义
BeginInvoke 方法真的是新开一个线程进行异步调用吗?参考以下代码:public delegate void treeinvoke();private void UpdateTreeView(){ MessageBox.Show(System.Threading.Thread.CurrentThread.Name);}private void bu转载 2007-07-27 18:10:00 · 919 阅读 · 0 评论 -
Const与static readonly有什么不同?
我们都知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等。在多数情况下可以混用。二者本质的区别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。明白了这个本质区别,我们就不难看出下面的语句中static readonly和co转载 2007-07-31 11:03:00 · 912 阅读 · 0 评论 -
Windows Workflow Foundation(五)——框架组成、工作流创作模式
这个专题前面的三个指南,介绍了WWF编程了三个大方面:顺序工作流、状态机工作流和自定义活动。相信大家对WWF的编程模型已经有了一个初步的了解。从这次开始,我们就要深入WWF,全面的探究一下WWF。传统的编程语言是针对短期运行应用程序的,缺乏持久化和抗中断的功能支持。WWF是一个框架,不是一种语言。他对工作流应用程序有深刻的认识,提供了各种手段来处理持久化,中断补偿,故障恢复等功能。WWF同转载 2007-04-27 16:28:00 · 1613 阅读 · 0 评论 -
Windows workflow foundation(三)——(创建状态机工作流)(下)
我们这个工作流的下一个状态就是OrderProcessingState。在这个状态中,工作流已经收到了订单,并准备好处理了。这个状态和上一个状态最大的不同就是激活方式。WaitForOrderState状态是宿主程序触发一个事件激活的,这个事件通知工作流一个新的订单需要被处理。而在OrderProcessingState状态是上一个状态由SetState转移而激活的。这个例子中,我们只是简单的转载 2007-04-27 16:25:00 · 1370 阅读 · 0 评论 -
Windows workflow foundation(二)——(创建状态机工作流)(上)
状态机工作流是为事件驱动的工作场景设计的。一个状态机工作流包含两个或两个以上的状态,且任意时刻只有一个处于激活状态。在这一节中,我们将创建一个基于状态机的工作流,这个工作流将通过其内部不同的状态,来处理宿主程序提交的订单。初始状态为WaitForOrderState,只要宿主程序提交了一个新订单,这个状态就会执行。当收到一个新订单后,进入OrderProcessing状态开始处理订单。最后一个状态转载 2007-04-27 16:24:00 · 1983 阅读 · 0 评论 -
.net中的4种事务总结-4
4 COM+事务 在分布式应用程序中,往往要同时操作多个数据库,使用数据库事务就不能满足业务的要求了。在COM+中,提供完整的事务处理服务。很方便处理多个数据库上的事务。Demo:COM+事务Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//转载 2008-02-03 11:20:00 · 990 阅读 · 0 评论 -
NUnit2.0详细使用方法(最新版本2.4.6)
前一段时间,有人问我在.NET里如何进行TDD开发.这个问题促使我想对NUnit做一个详细的介绍.因为我们大家都知道NUnit是在.NET进行TDD的利器.如果你已经知道很多关于NUnit的应用,请指出我的不对之处和提出一些建议,使本文更加完善.如果你对NUnit还不是很了解的话,我建议你还是阅读一下.本文分为以下部分:1. TDD的简介 首先什么是TDD呢?Kent Beck在他的>转载 2008-01-11 10:43:00 · 1240 阅读 · 0 评论 -
params 看这里看这里
本人不是个学院派,是个纯实用主义者.所以对于很多多少,只要是有种实现的方式就不会不求甚解.比如:params ,要不是今天在看mapxtreme的东西的时候,实在是没什么事儿,甚至可能还是只是知道只要按不加的方式调用就完了去使用了.好了,费话不说.先用我的语言来表达一下:使用params关键字就可以在定义含有数组参数的接口时,让调用者有更好的体验.声明时只要在数组参数前加上关键字即可,但是原创 2009-04-10 11:08:00 · 957 阅读 · 0 评论 -
c# 窗口句柄有关的常见问题
1、如何获得一个窗口的句柄?例如获取窗口PictureBox控件(其他控件也可以)的句柄,IntPtr handle = pictureBox.Handle;2、注意:窗口创建和窗口创建完毕即有句柄完全是两回事!!!窗口创建时,窗口并没有创建句柄,只有Application.Run(form)或者form.Show()之后才有句柄,即窗口只有显示或者启动消息循环后才有句柄!如果创建form转载 2009-02-25 17:34:00 · 3399 阅读 · 0 评论 -
ArrayList的Adapter引出的Array转ArrayList的思考
本人习惯所致,在做集合包含比较时,总喜欢用ArrayList.Contains方法(没有细查资料,分析应该是调用各个type的equal,如果不对,欢迎指正.).所以通常在比较如字符串数组(string[])是否包含某个字符串时,总喜欢把string[]转成ArrayList.然后再进行调用contains进行比较.虽然用了很久,但是意识上并未去想, Array与ArrayList到底被A原创 2009-02-19 11:36:00 · 1083 阅读 · 0 评论 -
C# 3.0新特性系列:隐含类型var
一.神奇的var 在C#3.0中增加了一个变量声明var,这个声明和JavaScript 的 var类似,但也有不同。 1. 相同点,它可以用var来声明任何类型的局部变量。 2. 不同点,它仅仅负责告诉编译器,该变量需要根据初始化表达式来推断变量的类型,而且只能是局部变量。 二.相同点 它可以声明var integer = 10; var name = "edisund转载 2008-12-03 11:46:00 · 551 阅读 · 0 评论