随笔分类 -  ASP.NET/Dot.NET

ASP.NET/Dot.NET研究
摘要:大多数情况下,我们开发一款小软件,都会有如下需求:想限制试用版的使用次数。并且当注册后,怎样才能一个注册码对应唯一一台电脑,不能重复使用注册码,在不同电脑上注册。基本思路1.当程序首次运行时,在注册表中新建一个键,如limit,键值则存放一个数字,用于限制试用版的使用次数,试用程序用一次则递减一次,注册过的程序不需要检查这个值。2.如果生成注册码的要求不是非常严格,可以随机生成数字加字母组合的字符串,通过正则进行匹配,如[0-9]{2}[A-Z]{3}-[0-9]{3}[A-Z]{2}-WYEU0-8989P。生成后放注册表,如,键SequenceNumber,值就是生成的注册码。3.为了能在 阅读全文
posted @ 2012-06-09 12:30 铁芒阁 阅读(2280) 评论(5) 推荐(0)
摘要:使用XmlSerializer可以方便的将对象序列化为xml,实现应用之间的数据交互。但是XmlSerializer却不能很好地序列化类型中的可为null的字段。 例如,有如下定义的类Person:C#代码 [Serializable][XmlRoot(ElementName="Person")]publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicint?Age{get;set;}} [Serializable] [XmlRoot(ElementName = 阅读全文
posted @ 2012-01-26 14:34 铁芒阁 阅读(6565) 评论(0) 推荐(0)
摘要:一般网站登录、注册填写完信息后,直接回车提交就可以登录或者注册了,没必要一定要单击鼠标确认, 能不能做到实现这样的功能啊?当然可以,在ASP.NET中,一个form中的第一个加入到form中的按钮就是默认按钮,按回车就可以触发点击事件。那么如果一个页面多个submit按钮,我怎么知道用户回车是想登录还是注册还是其他呢?,我们可不可以实现这样的功能呢?答案也是肯定的,下面介绍两种方法(第一种是网上找来的,不太可行)方案一,利用脚本实现:$(function() { //搜索按钮 $("#txtSearch").keypress(function(e) { var key = 阅读全文
posted @ 2011-09-01 16:54 铁芒阁 阅读(2305) 评论(0) 推荐(1)
摘要:某日,某项目中要做这样一个Winform,它要有一个这样的功能:即点击一个邮件地址link链接打开Outlook程序来发送邮件.那么如何打开OutLookExpress来发邮件呢?我作了如下的尝试(1)、使用System.Diagnostics.Process来打开IE使用参数 <a href=''mailto:test@msn.com'' class=''Email''>test@msn.com,即可打开,代码如下:System.Diagnostics.ProcessStartInfo startInfo = new 阅读全文
posted @ 2011-05-23 16:49 铁芒阁 阅读(1207) 评论(0) 推荐(1)
摘要:在学习AOP的过程中认识了PostSharp这个AOP编程框架,觉得它很轻巧,使用起来也很方便,推荐大家使用.于是将它与其它AOP框架如Spring.net中的AOP做了比较,它有如下特点:由于采用 MSIL Injection,因此静态代码注入的执行效率要高于使用 Reflection Emit。 使用 MSBuild Task,使得我们可以方便地使用 Attribute 调用方式来使用 AOP。 可以拦截任意方法,而 Dynamic Proxy 方式的 AOP 往往采取继承方式来拦截 Virtual 方法。 拥有更多的控制权。包括中断执行流程,修改参数和返回值等等。 还可以拦截 Field 阅读全文
posted @ 2011-05-23 09:09 铁芒阁 阅读(854) 评论(0) 推荐(0)
摘要:什么是Spring.NET AOP?下面我们先来了解Spring.NET AOP技术的关键概念:方面(Aspect):对横向分布在多个对象中的关注点所做的模块化。在企业应用中,事务管理就是一个典型的横切关注点。Spring.NET将 方面实现为Advisor或拦截器(interceptor)。(按:Advisor是通知和切入点的组合,拦截器实际就是指通知,注意在本文档中,一般 会把环绕通知称为拦截器,而将其它类型的通知称为通知,这是因为环绕通知实现的是 AopAlliance.Intercept.IMethodInterceptor接口,而其它通知类型实现的都是Spring.Aop命名空间下的 阅读全文
posted @ 2011-05-23 09:07 铁芒阁 阅读(558) 评论(0) 推荐(0)
摘要:这是三年前在为公司的data collect system写的一个简单树型图生成算法,现在觉得挺有意思的,现在翻出来晒晒一下.其实树型图是显示在DataGrid或GridView里的,如下图:BlanceSheet1224 ├Total Assets5465433 │└Current Assets2542 │├Cash, Cash Equivalents, and Marketable Securities245 ││├Cash and Cash Equivalents25425 数据表如图所示:说到显示树型图就可以想js做的树型菜单,不适合放在表格里显示了,还有就是不单要左边显示,右边要显示 阅读全文
posted @ 2011-05-20 17:51 铁芒阁 阅读(2331) 评论(0) 推荐(0)
摘要:Windows Forms 控件通常不是thread-safe(直接或间接继承于System.Windows.Forms.Control),因此.NET Framework为防止multithread下对控件的存取可能导致控件状态的不一致,在调试时,CLR-Debugger会抛出一个InvalidOperationException以‘建议‘程序员程序可能存在的风险。问题的关键在于,动机是什么?和由此而来的编程模型的调整。1. Example首先,看一个代码实例。该例要完成的工作是由一个Button的Click触发,启动一个Thread(Manual Thread),该Thread的目的是完成 阅读全文
posted @ 2011-05-20 14:37 铁芒阁 阅读(1451) 评论(0) 推荐(0)
摘要:Enterprise Library是微软Patterns & Practices 项目组推出的公共模块解决方案,用来解决我们在企业级开发中遇到公共问题,如配置管理、数据访问、缓存管理、记录操作日志、异常管理、加密解密、权限管理等。无意中,我们发现了它的Enterprise Library Logging模块有一个问题(不知道算不算bug),每当程序调用Enterprise Library Logging写日志,会向因特网发送请求(网址是:crl.microsoft.com),而如果此时服务器不能访问外网,它会等待将近15秒才继续往下执行!如果服务器能访问外网,此问题就不会存在了! 如 阅读全文
posted @ 2011-05-20 14:24 铁芒阁 阅读(620) 评论(2) 推荐(0)
摘要:想必许多同志们会用组件Microsoft.Office.Interop.Excel来操作Excel文档,但是这种方法不够简便,这不如利用C#配合OleDb编辑Excel文档的方式容易,这种法使得Excel表格变得像数据表那样容易地被用于查寻,更新和删除记录.下面就介绍这种方法的常用编码方式:protected void DoOleSql(string sql, string database) { OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Provider=Microsoft.Jet. 阅读全文
posted @ 2011-05-20 09:46 铁芒阁 阅读(1263) 评论(0) 推荐(0)
摘要:现在有一个需求来了,我们需要做一个web应用程序,能够判断客户端是否安装了能够打开PDF文档的软件,例如Acrobat Reader.如果客户端装了这种软件,那么网页就以文件流的形式输出,Acrobat Reader就自动在网页里打开PDF: 阅读全文
posted @ 2011-05-20 09:33 铁芒阁 阅读(1349) 评论(2) 推荐(0)
摘要:你写的.NET(C#)下载程序是否会遇到过这样的问题?--ContentLength=-1. 例如,有如下代码: 阅读全文
posted @ 2011-05-20 09:16 铁芒阁 阅读(4052) 评论(2) 推荐(0)

分享到: