摘要: 高仿淘宝拖动验证码插件 阅读全文
posted @ 2016-06-21 17:34 YaSin 阅读(4650) 评论(0) 推荐(1) 编辑
摘要: 公共类:static class PowerHelper { /// /// 设置form上的组件的权限 /// /// 控件所在的窗体 /// 取得form里组件名及其Enabled属性(当前用户)的键值对 public static void SetPermissions(this Form form, Func> getPermissionsHandler) { Type t = form.GetType(); FieldInfo[] fs = t.GetFields(BindingFlags.NonPublic | BindingFlags.Public | Bindin... 阅读全文
posted @ 2014-03-24 10:49 YaSin 阅读(518) 评论(0) 推荐(0) 编辑
摘要: MSDN对于Func)的官方解释: 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。下面通过几个例子对比下,就容易知道其用法:以下例子演示了如何利用委托将字符串转化为大写:delegatestringConvertMethod(stringinString);privatestaticstringUppercaseString(stringinputString){returninputString.ToUpper();}protectedvoidPage_Load(objectsender,EventArgse){//ConvertMethodconvertMeth=Up 阅读全文
posted @ 2014-03-24 10:46 YaSin 阅读(2630) 评论(0) 推荐(0) 编辑
摘要: 我们通常在IBatisNet配置文件 properties.config 加入数据库连接字符串。数据库连接字符串直接放在里面,没有被加密,很不安全。如果我们把 properties.config 文件作为资源嵌入到程序集,似乎可用解决安全问题,但是又出现新的问题,那就是部署。因为用户部署时,是需要重新设置数据库地址,名称,用户名,密码等值 的。 解决办法: 数据库连接字符串还是放在原来的程序的配置文件中,比如 WebForms 的web.config中, WinForms的 App.config中,这样我们可以以使用企业库管理工具来加密这个配置文件。 然后,通过编程的方式加入数据库连接字符串。 阅读全文
posted @ 2013-07-17 11:39 YaSin 阅读(961) 评论(0) 推荐(0) 编辑
摘要: //在C#代码中用以下数据库提供程序访问Oracle数据库 //OracleDataProviderfor.NET/ODP.NET使用TNS写法DataSource=TORCL;UserId=myUsername;Password=myPassword;//OracleDataProviderfor.NET/ODP.NET集成系统安全性写法DataSource=TORCL;IntegratedSecurity=SSPI;//OracleDataProviderfor.NET/ODP.NET不使用tnsnames.ora的写法DataSource=(DESCRIPTION=(ADDRESS_LI 阅读全文
posted @ 2013-07-04 11:44 YaSin 阅读(1786) 评论(0) 推荐(0) 编辑
摘要: 在编写程序时经常会使用到调用可执行程序的情况,本文将简单介绍C#调用exe的方法。在C#中,通过Process类来进行进程操作。 Process类在System.Diagnostics包中。示例一using System.Diagnostics;Process p = Process.Start("notepad.exe");p.WaitForExit();//关键,等待外部程序退出后才能往下执行通过上述代码可以调用记事本程序,注意如果不是调用系统程序,则需要输入全路径。示例二当需要调用cmd程序时,使用上述调用方法会弹出令人讨厌的黑窗。如果要消除,则需要进行更详细的设置。 阅读全文
posted @ 2013-04-24 10:01 YaSin 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 要用C#反射技术的话,首先得引入System.Reflection 命名空间,这个命名空间里的类,具有动态加载程序集、类型,动态调用方法、设置和取得属性和字段的值、可以获取类型和方法的信息的功能。要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法。1ClassMyClass 2{ 3 privateintfield; 4 publicintField 5 { 6 get 7 { 8 returnthis.field; 9 } 10 set 11 { 12 this.field=val... 阅读全文
posted @ 2012-12-26 19:06 YaSin 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 1.定义一个线程var task1 = Task.Factory.StartNew(() => DoSomeWork());方法如下: View Code private static object DoSomeWork() { Console.WriteLine("nihao "); System.Threading.Thread.Sleep(3000); Console.Write("nihao "); return "xiexie"; }2.多线程执行后,执行另一个方法 var task1 = Task.Factory.S 阅读全文
posted @ 2012-12-26 11:45 YaSin 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 利用BouncyCastle第三方组件进行通用RSA加解密,兼容C#,JAVA,PHP的标准RSA加解密 开始从网上查到可能由于Base64编码方式不一致,可能导致加解密结果不正确,经过测试 与编码无关,可以正常加解密 阅读全文
posted @ 2012-10-30 13:53 YaSin 阅读(3614) 评论(0) 推荐(1) 编辑
摘要: 在用Bouncy Castle的C#版API产生公钥和私钥 中产生了一对密钥对,可以用bouncy caslte提供的API进行保存 公钥方面的3个类,具体代码根据命名空间自行查看其源代码: Org.BouncyCastle.Asn1.X509 . SubjectPublicKeyInfo Org.BouncyCastle.X509 . SubjectPublicKeyInfoFactory Org.BouncyCastle.Security . PublicKeyFactory 阅读全文
posted @ 2012-10-30 13:34 YaSin 阅读(3354) 评论(0) 推荐(0) 编辑