C# 全局异常捕获

小柊 发表于 2016年08月18日 13时28分07秒

开发界有那么一个笑话,说是“「我爱你」三个字,讲出来只要三秒钟,解释要三小时,证明却要一辈子。「Bug」三个字母,发现需要三秒,找到需要三小时,Debug却要一辈子。”。就算是资深的程序员也会写出Bug,但Bug并不可怕,重要的是在Bug发生的时候迅速定位Bug。

在Visual Studio中调试的时候,我们可以借助VS的调试工具进行调试,一旦出现未处理的异常时,VS也会在第一时间捕获并显示出来。随着开发的进行,终于程序要打包上线了。那么在上线之出了BUG我们该如何处理呢?

浏览内容

C# 可重载运算符

小柊 发表于 2016年08月18日 0时05分16秒

对于一个没接触过.net的Java程序员来说,在.net里最不适应的大概就是字符串之间的比较居然可以用“==”运算符。因为在Java里用“==”运算符去比较两个对象是否相等,是根据两个对象所在的内存地址是否相同来比较的。

那为什么.net就可以用“==”运算符来比较两个的字符串内容是否相等呢?原因就如标题所说,.net支持运算符的重载,也正是微软在写String类的时候已经帮我们重写了“==”运算符,我们才能通过简单的“==”运算符去比较两个字符串内容是否相同,而不需要去调用字符串的Equals()方法。

浏览内容

C# Entity Framework操作MySQL数据库乱码问题

小柊 发表于 2016年08月08日 16时49分39秒

废话少说一句话系列:

根据项目类型打开对应的config文件(app.config或web.config),找到连接字符串,加入“Character Set=utf8;”(不含引号)即可。

 

上一篇我们解决了Visual Studio 实体数据模型向导在选择完数据库连接后点击下一步就闪退问题,正式开始了EF框架操作MySQL的旅程。但好景不长,没过几天那个开发Java的学长就跟我反应数据库里有一堆全是问号的记录,看这写入时间,应该是我干的。

浏览内容

MySQL 5.7以上 root用户默认密码问题

小柊 发表于 2016年08月07日 2时17分16秒

废话少说一句话系列:

CentOS系统用yum安装MySQL的朋友,请使用 grep "temporary password" /var/log/mysqld.log 命令,返回结果最后引号后面的字符串就是root的默认密码。

(如果不存在/var/log/mysqld.log文件,请确保您已经启动过一次MySQL服务。CentOS 7启动MySQL服务的命令是:systemctl start mysqld.service

 

最近有点小问题,需要在本地虚拟机里搭建一个MySQL服务器.但是按着以前的日志一步步操作,最后总是会卡在MySQL安装完之后的root登陆上。

按照以前,安装完MySQL之后是可以直接用

mysql -uroot

进入MySQL控制台的,结果现在不行了,会提示

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

浏览内容

Visual Studio 实体数据模型向导在选择完数据库连接后点击下一步闪退问题

小柊 发表于 2016年07月22日 0时27分13秒

最近一直在做的一个项目,按设计是需要我将数据写入数据库,然后由别人的系统读出来,因为另外一边读出来的系统是Java开发的,而且代码基本成型,所以我这边就只能跟着他用MySQL了。

好在MySQL有推出.net的程序包,可以让EntityFramework支持MySQL数据库,具体的流程以后再细谈,简单地讲就是装MySQL for Visual Studio==>装mysql-connector-net==>获取EntityFramework、MySql.Data、MySql.Data.Entity程序包。不过我在实际的操作过程里发生了一件非常蛋疼的事情——在实体数据模型向导里填写好数据库连接设置后点击“下一步”按钮,实体数据模型向导就会直接闪退。

浏览内容

CSR蓝牙驱动程序引起的Win7奇怪问题

小柊 发表于 2016年05月12日 14时51分05秒

当时买笔记本的时候对蓝牙的需求并不大,所以买的是没有蓝牙的笔记本。后来发现传文件什么的还是用蓝牙方便,就从某宝买了个CSR芯片的USB蓝牙适配器。随着这个蓝牙适配器还送了一张驱动光盘,装上之后就可以完美使用各种蓝牙功能。然而,在实际使用中发现这个CSR蓝牙驱动有着以下两个非常严重的问题。

浏览内容

C# Asp.net获得当前版本及最后更新时间

小柊 发表于 2016年02月21日 22时33分45秒

有时候我们作为一个开发者,在开发自己的Web应用时,希望将当前的程序版本和最后更新时间打印在网页上,这样可以更加清晰的告知各位访客自己什么时候更新过网站程序,并且当前版本为多少。

浏览内容

.net 日期和时间格式字符串

小柊 发表于 2016年02月12日 15时53分26秒

在.net Framework中,有一个比较重要的概念就是日期和时间格式化字符串。我们可以通过这个格式化字符串将DateTime类型转换成我们想要的格式。还记得上个暑假里,一个可以说是我师傅的学长,在自己写的一个监控软件里写错了格式化字符串,导致最后记录文件名的日期是12小时制的,在实际运行中,下午的记录文件会把上午的记录文件全部覆盖掉,被我嘲讽了许久。

浏览内容

因路由表错误造成的VPN无法正常上网怪事

小柊 发表于 2016年01月04日 18时16分44秒

自从实验室里部署了两台服务器之后,就经常被我拿来以权谋私,拿来干一些私人的事情——挂挂迅雷百度云啊,当肉鸡发起小型的DDoS啊等等等等等等。

大概是今年11月下旬,我在学校里的电信闪讯到期了,这下咱寝室里的网络就彻底成为移动网。移动网什么的大家都懂啊,很多网站都上不去,撇开那些奇奇怪怪嘿嘿嘿的网站,一些正常网站也跟着躺枪,比如说Pixiv什么的,而且移动网上电信服的网游简直卡的飞起,根本玩不动。所以咱就把目光放到了实验室的服务器上。实验室的网络是电信的,于是咱就直接在实验室的服务器上开启了VPN服务,为了能在寝室楼里直接访问服务器,还在实验室的路由器上专门做了DMZ。一切就绪之后我就能在寝室里随时随地的通过实验室VPN看Pixiv了。

但好景不长,当时也不知道是怎么搞了一搞,VPN就开始变的不太正常,举个简单的例子来说,就是用查看IP的网站看自己的IP,发现自己的被识别成移动IP,但Pixiv还是可以正常访问。一开始是以为移动乖了,解除了对Pixiv的封锁,但断开VPN连接之后发现还是访问不了。当时也重新调整过几次服务器设置,但都还是老样子。最后认为反正没啥实质上的影响,毕竟Pixiv能用也就没有继续折腾。

就这么拖到了十二月底,原本晚上不断网的移动也开始断网了,不过这个断网比原先直接关闭DHCP服务器来的温柔——断网后还是能获取到IP地址以及访问内网,但是无法访问外网,估计是移动在时间到了之后把学生宿舍的宽带出口给断了。不过这就给了我机会,咱可是在内网有VPN服务器的人!

浏览内容

Windows Linux开机自启动小键盘

小柊 发表于 2015年12月24日 19时47分32秒

不知道各位对键盘有什么偏好,反正咱是很习惯使用104键键盘,现在用的Dell KB212就是104键的,瞅着咱老师那个87键机械键盘,感觉一是没有小键盘,二是键帽好高。至今没有感受到学长们口中机械键盘的balabala的一堆优点。反正从小就没怎么碰到没有小键盘键盘的我,在挑选键盘的时候如果有一款没有小键盘的键盘,我首先会在印象里直接扣掉一大堆分数。

扯得比较远,现在各路安全厂商都会宣传设置密码的时候一定要英文大小写加数字加特殊符号,这样的密码才能够强,搞的很多地方密码一定要是字母和数字的组合,单纯的数字和字母直接过不了注册这一关,比如说微软。在使用微软帐号的Windows 8下,微软帐号的密码就是你登陆系统的密码,然后一般在登陆界面下,Windows是默认关闭小键盘的。这对于像我这样重度小键盘依赖者来说是无比的反人类。所以今天教大家怎么设置以开机自开启小键盘。

浏览内容

CentOS 7 切换系统语言

小柊 发表于 2015年12月21日 23时52分29秒

又是好久没更新,最近依旧是很忙,一不留神就忘了去钻研什么心得。今天先象征性的更新一篇博文,是关于切换CentOS系统语言的。

之前一直比较奇怪的就是自己在阿里云上的CentOS服务器系统语言是英文的,但自己装的CentOS都是中文的,也不知道是阿里云是怎么考虑的,虽然说这么点英语并无所谓,但还是能统一一下也好。

浏览内容

String与StringBuilder与string.format

小柊 发表于 2015年12月03日 17时52分47秒

String类型对于各个开发人员来说相信是再熟悉不过的类型了,它可以用于储存和操作字符串类型。但对于一些初学者来说StringBuilder就不怎么熟悉了。

从字面意义上来看,StringBuilder可以理解为字符串构造器,那为什么微软和Oracle分别在各自的.net Framework和Java中都添加了这么一个类呢?

浏览内容