一切福田,不離方寸,從心而覓,感無不通。

Category Archives: C#

调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

我总结了一下出现证书无法加载的原因有以下三个   1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致   2.IIS设置错误,未加载用户配置文件 解决办法:找到网站使用的应用程序池-->右击-->高级设置-->打开如下图-->在加载用户配置文件选择true 3.如果以上两个方案都不能解决问题,就有可能是加载证书时没有给定证书存储标识 解决方法:在加载证书方法时使用以下方法,请注意第三个参数 X509Certificate2 cer = new X509Certificate2(cerPath, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); req.ClientCertificates.Add(cer);   from:http://www.2cto.com/weixin/201602/489552.html

龙生   10 Aug 2016
View Details

C#接收图片base64格式保存为文件

摘自:http://www.itnose.net/detail/6387947.html

龙生   29 Jul 2016
View Details

这些编程语言程序员工资最高!C#才第九

在众多行业中,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位。 高薪的诱惑和充满挑战性的工作,令程序员一直成为备受欢迎的职业。在今年年初,Glassdoor发布的一份调查报告指出,在美国,程序员的就业情况仍然向好。据报告显示,在排名前25位的最能赚钱和需求量最高的工作岗位中,超过一半以上的岗位要求求职人员具备编程技术。因此,要想获得高薪不是一件容易的事情,你得有过硬的本领。 14种最具“吸金”能力的编程语言 据美国Rasmussen College(拉斯姆森学院)在2015年5月发表的一篇文章显示,在数以百计的编程语言中,以下14种编程语言最具“吸金”能力。 文章指出,这个结果是拉斯姆森学院收集了在2014年发布的1800万个招聘广告,以“平均年薪”和“招聘职位”两个指标为基础进行分析而得出来的。 (数据来源:Rasmussen College) 而在Indeed.com今年发布的调查数据则显示,根据编程工作的数量,排在前九位的编程语言如下: 图片来源:www.indeed.com 学习哪种编程语言可以赚到更多钱? 不同的编程语言适合不同的系统,不同的工程师也需要掌握不同的编程语言。 后台或服务器端的程序员通常都懂得Python, Ruby, PHP, Java或 .Net以及数据库的知识。前端或客户端的程序员掌握的编程语言主要是HTML, CSS和JavaScript,能力全面的程序员还具有设计能力。 移动应用的程序员懂得的语言是用于iOS 的Objective-C 或安卓系统的Java, 还有用于移动网站的HTML/CSS,他们当中有些人还懂得服务器的知识。3D或游戏开发者懂得 C/C , OpenGL和动画,同时具有艺术能力的程序员会更有优势。高效程序员懂得C/C 和Java,有的人还有数学和定量分析的能力。 如果你并不介意工程师的类型,Python, Objective-C, JavaScript, HTML和CSS这五种语言是值得学习的。因为每年它们都会出现在“最受欢迎的编程语言”名单中。此外,作为程序员,你还应该学习一些数据库,例如MySQL, MongoDB,而且要学习如何使用它来编程。 出处:网易科技 from:http://www.oschina.net/news/75295/these-programming-language-programmers-pay-the-highest

龙生   18 Jul 2016
View Details

【解决】asp.net请求header添加gzip后抓网页源码乱码问题

asp.net抓网页源代码的代码很普遍,大家都会用,不过今天我在使用asp.net抓网页源代码时,遇到了一个小小的困扰,那就是我在请求header里添加了GZip的内容编码后,一直返回乱码的问题。不过最终还是把这个小问题给解决了,现在记录一下。 asp.net使用gzip抓取网页 普遍情况下,asp.net抓取网页源码时并不使用gzip,而是直接抓。关键代码如下: string PageUrl = "http://www.webkaka.com/"; WebRequest request = WebRequest.Create(PageUrl); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); Encoding enc = Encoding.GetEncoding("GB2312"); StreamReader sr = new StreamReader(resStream, enc); string strHtml = sr.ReadToEnd(); resStream.Close(); sr.Close(); 在请求header里添加了GZip的内容编码: string PageUrl = "http://www.webkaka.com/"; WebRequest request = WebRequest.Create(PageUrl); request.Headers.Add("Accept-Encoding", "gzip,deflate"); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); Encoding enc = Encoding.GetEncoding("GB2312"); StreamReader sr = new StreamReader(resStream, enc); string strHtml = sr.ReadToEnd(); resStream.Close(); sr.Close(); 但是,这样的代码,获得的网页源代码是乱码的,确切来说,是经过了GZip压缩的字符串,因此必须要进一步处理,把这些乱码还原成可读的html代码。 最终实现代码如下: string PageUrl = "http://www.webkaka.com/"; WebRequest request = WebRequest.Create(PageUrl); request.Headers.Add("Accept-Encoding", "gzip,deflate"); request.AutomaticDecompression = DecompressionMethods.GZip; WebResponse response = […]

龙生   17 Jul 2016
View Details

c# 实现网页上用户自动登陆|asp.net 模拟网站登录

using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; namespace Czt.Web { /// <summary> /// 实现网站登录类 /// </summary> public class Post { /// <summary> /// 网站Cookies /// </summary> private string _cookieHeader = string.Empty; public string CookieHeader { get { return _cookieHeader; } set { _cookieHeader = value; } } /// <summary> /// 网站编码 /// </summary> private string _code = string.Empty; public string Code { get { return _code; } set { _code = value; } } private string _pageContent = string.Empty; public string PageContent { get { […]

龙生   17 Jul 2016
View Details

VS2015 +EF6 连接MYSQL数据库生成实体

使用EF设计器 此时此刻,发现二逼了,咋没有MySQL Database呢? 好吧,下面重点: 需要下载安装: 1:mysql-for-visualstudio-1.2.6.msi http://dev.mysql.com/downloads/file/?id=460645 2:mysql-connector-net-6.9.8.msi http://dev.mysql.com/downloads/connector/net/ 3:使用Nuget安装EF   我这边是已经安装完了(版本选择6.1以上的),所以显示“更新”和“卸载”,如果你安装了,继续看下面的   下图是随便找了一个没安装的,就会有“安装”按钮,   4:使用Nuget安装Mysql.Data.Entity 与安装EF相同 点击安装后,一会会出现如下图:     执行完上述步骤,看web.config文件,会自动增加如下代码 OK,现在我们所有的步骤就执行完了。最好重启下VS(不知道是不是必须,反正我重启了),之后重新编译。 再之后,就可以按开始的步骤生成MYSQL对应的实体了。 注:如果刚开始那两个MSI文件安装有问题,则生成实体的时候,到了这一步之后(如下图),会出现闪退问题,无法生成实体   (本人就遇到过这个问题) 到了这一步,已经没有任何悬念了。   来自为知笔记(Wiz) from:http://www.cnblogs.com/RushPasser/p/5438334.html

龙生   14 Jul 2016
View Details

说说C#的async和await

C# 5.0中引入了async 和 await。这两个关键字可以让你更方便的写出异步代码。 看个例子: public class MyClass {     public MyClass()     {         DisplayValue(); //这里不会阻塞         System.Diagnostics.Debug.WriteLine("MyClass() End.");     }     public Task<double> GetValueAsync(double num1, double num2)     {         return Task.Run(() =>         {             for (int i = 0; i < 1000000; i++)             {                 num1 = num1 / num2;             }             return num1;         });     }     public async void DisplayValue()     {         double result = await GetValueAsync(1234.5, 1.01);//此处会开新线程处理GetValueAsync任务,然后方法马上返回         //这之后的所有代码都会被封装成委托,在GetValueAsync任务完成时调用         System.Diagnostics.Debug.WriteLine("Value is : " + result);     } } 上面在MyClass的构造函数里调用了async关键字标记的异步方法DisplayValue(),DisplayValue()方法里执行了一个await关键字标记的异步任务GetValueAsync(),这个异步任务必须是以Task或者Task<TResult>作为返回值的,而我们也看到,异步任务执行完成时实际返回的类型是void或者TResult,DisplayValue()方法里await GetValueAsync()之后的所有代码都会在异步任务完成时才会执行。 DisplayValue()方法实际执行的代码如下: public void DisplayValue() {     System.Runtime.CompilerServices.TaskAwaiter<double> awaiter = GetValueAsync(1234.5, 1.01).GetAwaiter();     awaiter.OnCompleted(() =>         {             double result = awaiter.GetResult();             System.Diagnostics.Debug.WriteLine("Value is : " + result);         }); } 可以看到,async和await关键字只是把上面的代码变得更简单易懂而已。 程序的输出如下: MyClass() End. Value is : 2.47032822920623E-322 以下是我写的一个静态类,可以方便将一个普通Function执行异步调用: public static class TaskAsyncHelper {     /// <summary>     /// 将一个方法function异步运行,在执行完毕时执行回调callback     /// </summary>     /// <param name="function">异步方法,该方法没有参数,返回类型必须是void</param>     /// <param name="callback">异步方法执行完毕时执行的回调方法,该方法没有参数,返回类型必须是void</param>     public static async void RunAsync(Action function, Action callback)     {         Func<System.Threading.Tasks.Task> taskFunc = () =>         {             return System.Threading.Tasks.Task.Run(() =>             {                 function();             });         };         await taskFunc();         if (callback != null)             callback();     }     /// <summary>     /// 将一个方法function异步运行,在执行完毕时执行回调callback     /// </summary>     /// <typeparam name="TResult">异步方法的返回类型</typeparam>     /// <param name="function">异步方法,该方法没有参数,返回类型必须是TResult</param>     /// <param name="callback">异步方法执行完毕时执行的回调方法,该方法参数为TResult,返回类型必须是void</param>     public static async void RunAsync<TResult>(Func<TResult> function, Action<TResult> callback)     {         Func<System.Threading.Tasks.Task<TResult>> taskFunc = ()=>             {                 return System.Threading.Tasks.Task.Run(()=>                     {                         return function();                     });             };         TResult rlt = await taskFunc();         if(callback != null)             callback(rlt); […]

龙生   07 Jul 2016
View Details

7 款顶级开源 BI(商务智能)软件和报表工具

在这个信息化时代,每分每秒都产生海量数据。在海量数据中,挖掘出有用的数据,并且能以较人性化、直观的方式展示这些数据,变得尤为重要。本文将介绍 7款顶级开源 BI(商务智能)软件和报表工具,用于商业数据的分析处理,希望对您有所帮助。 BIRT BIRT(Business Intelligence and Reporting Tools) 是由 IBM在 2004年开源的基于 Eclipse 的报表系统,它主要是用在基于Java与J2EE的Web应用程序上。BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。BIRT同时也提供一个图形报表制作引擎。 获取地址:http://www.eclipse.org/birt/   Seal Report Seal Report 是一款生产报表和开放数据库看板框架,采用微软.Net框架,C# 编写。主要有以下它特性: 支持动态SQL 查询数据。 支持本地数据透视表,随意的修改表元素, 数据透视表会立即按照新的布置重新计算数据 。 支持通过HTML 5快速生成网页图表。 可生成层级导航及层级报表。 支持定时任务,可编写批处理,定时执行一些数据加载、数据处理、备份等操作。 较低的TCO(总拥有成本)。 提供Web报表服务。 获取地址:https://github.com/ariacom/Seal-Report/archive/master.zip   JasperReports JasperReports是一个采用Java开发的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。 JasperReports 支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。 获取地址:http://community.jaspersoft.com/download   ReportServer ReportServer 是采用 Java 开发的 BI 平台,支持 Linux 、OS X、Windows三大平台,运行在 Apache Tomcat,Wildfly等应用服务器上,允许采用Excel、Word、多维OLAP展示报表信息。 获取地址:https://reportserver.net/en/download/   Pentaho Pentaho是一个以工作 流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它偏向于与业务流程相结合的BI解决方案,侧重于大 中型企业应用。它允许商业分析人员或开发人员创建报表,仪表盘,分析模型,商业规则和 BI 流程。 功能和特点 ◆ 工作流引擎:Shark and JaWE ◆ 数据库:Firebird RDBMS ◆ 集成管理和开发环境:Eclipse ◆ 报表工具:Eclipse BIRT ◆ ETL工具:Enhydra/Kettle ◆ OLAP Server:Mondrian ◆ OLAP展示:JPivot ◆ 数据挖掘组件:Weka ◆ 应用服务器和Portal服务器:JBoss ◆ 单点登陆服务及LDap认证:JOSSO ◆ […]

龙生   30 Jun 2016
View Details

C#:GDI+图像扭曲

DrawImage 时按照目标形状给定矩形框大小即可,下面是MSDN上的代码: Bitmap myBitmap = new Bitmap("Spiral.png"); Rectangle expansionRectangle = new Rectangle(135, 10, myBitmap.Width, myBitmap.Height); Rectangle compressionRectangle = new Rectangle(300, 10, myBitmap.Width / 2, myBitmap.Height / 2); myGraphics.DrawImage(myBitmap, 10, 10); myGraphics.DrawImage(myBitmap, expansionRectangle); myGraphics.DrawImage(myBitmap, compressionRectangle);       以上图形转换的代码如下,经测试通过,参考了CxImage的源码:     static int ComputePixel(float x, float y, out float x1, out float y1) { double r, nn; if (x == 0 && y == 0) { x1 = x; y1 = y; return 1; } nn = Math.Sqrt(x * x + y * y); r = (Math.Abs(x) > Math.Abs(y)) […]

龙生   08 Jun 2016
View Details

C# :GDI+技术生成复杂型彩色验证码(转载)

该类是生成一个验证码的类,集合了网上大部分的C#关于GDI+的文章进行多次改进,现在已经形成了可在生产环节中使用的验证码。 该验证码加入了背景噪点,背景噪点曲线和直线,背景噪点文字以及扭曲,调暗,模糊等。完全可以实现防识别。 对安全性要求比较高的网站尤其适用。 同时该类还还收集了GDI+的图像处理方面的函数,包括雾化,扭曲,水波,锐化,高斯模糊,画直线,画曲线生成随机颜色,缩放图片,柔化图片,图片黑白化,增加曝光度,RGB滤镜,绘制圆角等功能。

from:http://www.cnblogs.com/Fooo/p/3576800.html

龙生   08 Jun 2016
View Details
1 22 23 24 43