
【C #】
牛迁迁
货车帮科技有限公司,高级开发工程师
展开
-
C#中的类
C#视频马上就要完工了,但是脑子里还存在很多疑惑,是时候停下来思考了。先拿Class来说,视频里讲到的类有基类,派生类,抽象类,密封类。这么多的类有什么区别,联系呢?首先 基类(父类):从字面上就可以看出,基类是最初的一个类,并且可以派生出新类。 派生类(子类):基类的子孙类,继承了基类的所有属性和方法,同时也添加了自己的特性原创 2014-03-05 16:25:08 · 2121 阅读 · 39 评论 -
C#-利用ZPL语言完成条形码的生成和打印
最近因为公司项目的需要,研究了一项对我来说算是新的技术—条形码的生成和打印。因为之前没有接触过这方面的知识,所以刚开始还有点小迷茫,不过一步一步来,问题总会解决的。现在来总结一下做条形码这块的收获。原创 2014-10-05 23:26:40 · 8409 阅读 · 40 评论 -
ASP.NET MVC+Bootstrap 实现短信验证
短信验证大家都已经很熟悉了,基本上每天都在接触手机短信的验证码,比如某宝,某东购物,网站注册,网上银行等等,都要验证我们的手机号码真实性。这样做有什么好处呢。 以前咱们在做网站的时候,为了提高用户注册的质量,防止用户恶意注册,都会设置一些小阻碍,如网页验证码、邮件认证等等。但是道高一尺魔高一丈,很快网站的这些设置都被一些网络黑客利用注册机逐一攻破,这些功能也就随之变成了摆设。 但是魔高一丈道高两丈,原创 2015-08-11 22:32:23 · 10075 阅读 · 64 评论 -
EF学习和使用(六)显式加载、按需加载
这篇博客接着说EF加载数据的方式,今天介绍剩下的两种:显式加载和按需加载。 显式加载(Explicit Loading)显式加载和延迟加载非常类似,不同的是显式加载要手动关闭EF的延迟加载属性,通过代码ctx.Configuration.LazyLoadingEnabled = false;来完成。using (var dbcontext= new ModelFirstDemoEntities()原创 2015-09-28 22:39:47 · 7494 阅读 · 29 评论 -
EF学习和使用(七)EF性能优化篇
自从ITOO平台旗下的评教系统问世之后,其性能问题引起了轩然大波。CPU占用过高,页面反映速度超慢,根本无法正常使用,为此我们专门成立一个性能优化小队,去研究为什么系统性能这么低,怎么优化性能?框架中用到了EntityFramework,WCF,EasyUI等技术,所以我们大胆猜测可能是这三方面影响了系统的整体性能。经过一段时间的研究和实践,发现我们在使用EF的过程中,由于经验原因对EF的不了解,不原创 2015-09-29 22:23:32 · 20685 阅读 · 56 评论 -
EF学习和使用(八)你必须知道的效率问题根源之Expression<Func<TObject, bool>>与Func<TObject, bool>
框架中加入了EF,使开发效率大大加快,但是项目做出来之后,数据稍微多一点,页面的加载速度就会非常慢。经过层层详细的排查之后,发现是项目封装的EF工具类有问题。 工具类中封装的查询方法:#region 按条件查询:LoadItems(Func<T, bool> whereLambda) /// <summary> /// 按条件查询 /// </summ原创 2015-10-18 19:43:47 · 8257 阅读 · 25 评论 -
IIS发布问题:HTTP错误404.17和404.2
今天给客户部署项目的时候,遇到了两个关于IIS服务器的小问题,在此记录一下。一、HTTP 错误 404.17 HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。出错原因IIS没有安装完全或者没有注册.Net Frameword4.0解决方案:打开ISAPI筛选器 查看是否安装了ASP.Net_4.0_32bit和ASP.Net_4原创 2015-10-22 20:09:25 · 20292 阅读 · 26 评论 -
ASP.NET MVC + Bootstrap + XML + WCF 封装短信验证服务(一)
前一段时间的一篇博客:ASP.NET MVC+Bootstrap 实现短信验证 。介绍了如何利用第三方短信平台完成短信验证的功能,但那只能算是个demo。短信验证服务算是比较基础的功能,各个系统注册,或者涉及到隐私的功能可能都需要用到,而我们总不能把这个把这段接口代码copy到每个地方一份,那样没有复用也不好维护。介于这个原因,所以打算将短信验证服务抽出来,单独做成一个模块,通过WCF为各个系统原创 2015-10-04 20:10:22 · 1745 阅读 · 9 评论 -
ASP.NET MVC + Bootstrap + XML + WCF 封装短信验证服务(三)
经过前两篇博客之后,我们已经成功的对短信内容等信息进行了维护,可以动态的添加新的内容。短信平台信息的维护界面和短信内容类似,就不在重复了。那么下一步就是应该对其他系统提供短信验证服务了。这里采用WCF完成服务的远程调用。 BLL层对服务的封装public class SMSVerification { #region 对外提供的方法发送短信SendSMS()-牛迁迁-2015原创 2015-10-12 14:47:41 · 1105 阅读 · 8 评论 -
ASP.NET MVC + Bootstrap + XML + WCF 封装短信验证服务(二)
上篇博客展示的是哪些系统想要使用短信验证服务,和已经配置好的短信内容,那这篇博客就来介绍下如果来一个新系统,需要怎么配置,怎么将页面的短信内容动态的添加到XML文件中。 添加页面代码在主页面中添加一个添加按钮,当点击按钮的时候会显示一个模态框,模态框的代码如下: <!-- 模态框(Modal) --><div class="modal fade" id="addModal" tabindex原创 2015-10-11 13:24:00 · 1138 阅读 · 7 评论 -
C#生成缩略图不失真的方法
最近一个手持机项目有个需求,因为物料图片的大小不一,有的很大显示到手持机上会只显示图片的一部分,界面显得非常乱,很影响客户的体验度。所以需要一个方法,将上传到服务器上的图片进行处理,按照一定的大小格式进行保存。下面提供了两种获取图片缩略图的方法,供大家参考。方法一:通过调用Image对象的自带方法GetThumbnailImage()进行图片转换 /// <summary>原创 2015-02-08 14:20:18 · 7327 阅读 · 8 评论 -
BackgroundWorker 实现多线程操作
背景介绍: 在做程序的过程中,我们很可能遇到这样的情况:当我们执行一个比较耗时的操作,即界面加载数据量略大的时,在该操作未完成之前再去操作界面,就会出现停止响应的情况,这称为界面假死状态,那一个小圆圈转呀转的,想必大家看着就头疼。当然这是一个非常影响用户体验度的地方。 怎么做出一个能够及时响应的用户界面呢?多线程操作。 引入Backgroun原创 2014-11-30 00:27:42 · 8373 阅读 · 27 评论 -
C# 两个独立exe程序直接通信
两个独立的exe程序之间如何完成通信呢?首先想到的办法是利用生成文件的方法,即,发送端在某个目录下生成一个文件,包含要发送的消息,接收端从这个目录中读取文件且获取消息。这个方法也能实现通信,但是总感觉有点多此一举。能不能让两个exe程序直接进行通信,发送消息呢? 答案是肯定的!而且还有好几种方法。1 发送消息传递 2 共享内存传递 3 使用COM进程外服务器 ...原创 2014-11-24 23:48:10 · 6104 阅读 · 30 评论 -
C#小小结
C#花费了大概一周的时间就完成了,师傅说看视频的时候不用太纠结,了解了解,敲敲例子就好了。所以我也就没深入学习。话说总结可以看出你近来有没有认真学习,看我的图就知道了,C#学的有点力不从心。C#主要讲的是面向对象,而面向对象主要有三大特性“继承”“封装”“多态”。虽然了解不深,但也稍稍谈谈。继承:谈到继承,一定存在继承者和被继承者,在编程上,继承者被称为子类(派生类),被继承者称为父类原创 2014-03-12 16:56:34 · 1442 阅读 · 34 评论 -
C#编写第三方控件,实现窗体控件的一键取值
上篇博客中讲到了利用编写第三方控件的方法,实现给窗体控件的Text属性赋值,比如说:TextBox,Combox等。有赋值,当然也有取值操作。从窗体的控件中取值,然后存入变量或者实体属性当中,传入到数据访问层进行添加,更新等操作也是我们经常使用的。如何实现一键取值呢?使用的方法在上篇博客中已经做了详细说明,这里就不再累述了。代码写在这里: 该方法的作用是,遍历传入窗体中的控件,原创 2014-09-20 21:30:46 · 3352 阅读 · 24 评论 -
C#编写第三方控件,实现窗体控件的一键赋值
、事出有因在写程序的时候,经常会写上面这样的代码,把查询的结果显示到窗体上,我们怎么做的呢? 一行一行的进行赋值,这样的代码写起来最枯燥,而且还容易出错。大家有没有发现,上面的代码都在做相同的事情—赋值。相类似的代码写了三遍以上,就要考虑是不是能对这个过程进行封装。封装出一个方法,帮我们自动完成这些重复性的操作。 思考过程所接触项目中也有写好的类似方法。只是它涉及到了很多其它的方法原创 2014-09-09 22:53:28 · 3853 阅读 · 21 评论 -
WinForm下编写分页控件,实现DataGridView的分页效果
前几天做C/S项目的时候用到了分页查询,所以就想去网上找一些封装好的分页控件,类似BS项目中的那种。但是找了好几个都不是特别的好,没有自己想要的。而且WinForm 里面的DataGridView也不像WebForm里面的GridView那样有自带的分页功能。没办法还是自己动手封装一个吧,以后复用也方便。 从网上找了几个demo做了一下,实现挺简单的。原创 2014-09-27 22:18:37 · 25535 阅读 · 39 评论 -
C# 生成图片缩略图
最近项目有部分需求,是关于图片操作部分的, 大致的功能就是图片的保存和展示。但是直接操作原图,程序运行效率太慢。而且如果传输数据量过大的话,可能直接导致调用WCF服务失败的问题。为了解决这个问题,决定采用缩略图的方法。保存数据的时候保存原图和其缩略图。但主界面展示的时候只加载缩略图,点击缩略图后再显示其原图。这样就避免了一进入主界面就加载大量数据,提高了效率。原创 2014-10-26 23:59:37 · 6782 阅读 · 33 评论 -
批量保存数据 List<T> 的使用
在机房收费这个系统中是没有涉及到数据批量操作这样的功能的,假如用户某天提出了批量添加或修改学生(卡)信息这样的需求,我们应该怎样实现呢?假设批量添加是通过DataGrid实现的,我们需要把DataGrid里面的每一条数据插入到数据库中。 方法一: //循环表格的所有行,逐行插入 for (int i = 0; i < Da原创 2014-08-27 23:32:41 · 4131 阅读 · 40 评论 -
C# Excel文件导入操作
Excel文件导出的操作我们经常用到,但是讲一个Excel文档导入并显示到界面还是第一次用到。下面简单介绍下在C#下如何进行Excel文件的导入操作。首先添加两个引用using System.IO;using System.Data.OleDb; 添加控件openFileDialog然后我们需要配置Excel的OleDb连接字符串public const strin原创 2014-11-16 23:00:41 · 6281 阅读 · 38 评论 -
Image与byte[]数组的相互转换
最近项目有个需求是关于图片操作的,需要将图片保存到数据库中,经过尝试才知道Image类型文件是不能直接存储到数据库中的。保存之前需要我们做一步转换:将Image转换成字节数组类型Byte[]。转换需要用到读写内存的MemoryStream类:原创 2014-10-19 23:54:59 · 6823 阅读 · 40 评论 -
C# C1TrueDBGrid控件如何加载图片列
表格中加载图片,是很常见的功能,尤其是网页中原创 2014-11-07 22:08:09 · 2392 阅读 · 20 评论 -
性能优化之路—化茧成蝶
成立了WCF,EF性能优化小组已经有一段时间了。我们致力于WCF和EF的性能优化,进行了各种尝试,包括WCF方面:配置WCF传输信息量的最大值,修改WCF的传输协议,配置WCF连接池的最大连接数,修改WCF传输信息的类型,JSON,二进制流,还有WCF数据压缩,分流等等; EF方面:在查询时 加上asNoTracking()无跟踪查询,关闭延迟加载,配置EF的连接池,最后还想到了EF扩展类。尽管经原创 2015-10-14 13:21:39 · 2532 阅读 · 25 评论