.net开发

Asp.net Core中使用GDI+绘图

小柊 发表于 2018年01月01日 0时00分03秒

一、扯淡

光阴荏苒,日月如梭。转眼2017年就这么过去了。在这2017年里本人遇见了很多人,遇到了很多事。如果要从其中挑出一件最遗憾的事情,那大概就是.net Core 2.0居然不支持System.Drawing命名空间。

浏览内容

C# Xml序列化Dictionary类

小柊 发表于 2017年09月16日 17时57分37秒

一、扯淡背景

本人一直有个习惯就是开发的时候把一些程序需要使用的后期可能会变动的配置做成Xml写到本地文件里,当每次程序启动的时候再读取出来,以免因为配置变动导致重新修改代码。

最近的一次更新调整中,需要在配置类中加入字典类Dictionary<TKey, TValue>。

结果不加不要紧,一加这个字典类,在序列化为Xml的时候直接抛出了异常:

浏览内容

Asp.net MVC 全局字符串参数过滤前后空白字符

小柊 发表于 2017年06月25日 21时15分27秒

序、扯淡

又是在不知不觉之中,一个月就这么过去了。这一个月里发生了挺多的事情,比如说大学毕业(虽然辣鸡学校扣了毕业证和学位证,最后只能申请延期毕业,这里的大学毕业仅仅是参加了毕业仪式罢了);工作一直不能稳定下来,现在的公司部门编制满了,如果需要转正就需要换部门,要么就直接换工作(我现在越来越偏向后者了);在这六月里,杭州也进入了梅雨季节,连绵不断的阴雨天气搞的整个人都没有心情和精神;拖欠辅导员的大学感悟一拖就是两个月,现在还在绝赞拖稿中……

唉……

 

一、背景

今天我们还是以一个案例切入,讲解一下Asp.net MVC中筛选器的实际使用。

空格这个东西真是让人又爱又恨,你说离了它不行,多了它也要出事儿。最近自己在开发自用的一套系统里,一次重置密码操作后,发现新密码怎么都登陆不上去,查了后台数据库,发现密码确实已经更新了,但具体密码被hash过了,看不到当时设置的新密码,后来突然想起现在的系统里已经布满了我的日志钩子,查了一下操作日志才发现当时提交新密码的时候手滑在密码最后加了一个空格……

为了在实际上线的时候不让用户发生这种问题,我们可以在使用参数前,先调用字符串参数的Trim()方法,去清除字符串变量前后的空字符串。不过随着项目越来越大,提交参数的地方越来越多,在每次使用参数前调用Trim()方法的做法明显不够优雅(我个人的编程优雅之道就是“用最少的代码做最多的事”)。那优雅的方法是怎么做的呢?

浏览内容

C# 正则表达式简单验证手机号码

小柊 发表于 2017年03月07日 23时39分41秒

老样子,废话少说一句话系列:

C#用下面的函数进行正则匹配:

 

现在很多时候,网站都会需要用户提供自己的手机号码。不过很多时候用户会选择随便输入11位数字,如果去在提交时不及时发现,可能到时候就是白白调用一次短信发送接口。如果可以,我们后台开发者更希望能在用户提交时发现明显不合法的手机号码,从而阻止提交保存。那该怎么做呢。

浏览内容

老树新花——旧项目改善之浙师60周年庆,点亮全球送祝福

小柊 发表于 2017年02月28日 23时02分20秒

人总在不停地进步,可能若干年后回首看看自己多年以前开发的项目,可能或多或少会笑话自己当年是多么的年轻。最近无聊的时候翻看了一下自己以前的几个项目,发现有很多可以改进的地方。所以决定开一个新系列出来专门讲一下。

这次要讲的项目是去年浙师大六十年校庆的时候行知求知社委托我们计算机协会制作的一个“浙师60周年庆,点亮全球送祝福”的项目。

浏览内容

Asp.net MVC4 WebAPI启用Session

小柊 发表于 2017年02月22日 19时08分48秒

原标题:Asp.net MVC4 WebAPI Session总是为null的解决方案

一、背景

之前群里有位大神说,现在Web开发最好的结构就是MVC+WebAPI+AngularJS/Ajax,通过这样来降低后端对前端的控制和影响。

正好最近在整理一个项目的代码,这个项目原本有一个BackGroundController控制器,里面所有的Action返回的都是JsonResult,心里想想干脆就改成WebAPI算了。结果改代码改到一半的时候发现了一个问题:由于有个数据提交接口的代码做了防机器提交的操作,所以在执行的时候需要访问Session取得验证字符串。但在访问Session的时候直接被抛出了NullReferenceException。

经过检查,发现是HttpContext.Current.Session为null,才使得在这里抛出异常。

浏览内容

C# WinForm注册自定义协议

小柊 发表于 2017年02月13日 22时55分32秒

一、前言

自定义协议是什么?这么突然问起来可能不太会有人想起来,但如果给你看以下几个地址,你们应该会马上反应过来:

  • tencent://xxxxxxxxxx……
  • thunder://xxxxxxxxxx……
  • qqdl://xxxxxxxxxx……
  • aliim://xxxxxxxxxx……

浏览内容

C# EntityFramework连接MySQL数据库

小柊 发表于 2017年01月26日 11时17分04秒

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。在安装完Visual Studio之后,可以在项目中右键添加新建项,选择“ADO.NET 实体数据模型”,然后走一个非常简单的向导就可以把Entity Framework添加进项目里了。

但实际用过EF框架的人都知道,默认情况下,实体数据模型向导里是没有办法连接MySQL数据库的。

浏览内容

Visual Studio 2015 诊断工具异常失败 解决方案

小柊 发表于 2016年09月18日 23时58分00秒

如果说Visual Studio 2015里有什么新功能是我最喜欢的,那我一定会说是新增的诊断工具,它可以在调试程序时追踪程序的CPU和内存使用率,如果在调试的时候看到内存使用量不断的增长,就可以判断程序中存在没有即时释放的资源,非常明显好用。

不过最近不知道为什么它启动不了了,每次启动调试的时候它只会显示一句“诊断工具意外失败。输出窗口中的诊断中心输出可能包含其他信息。

浏览内容

细说使用AForge.Video.FFMPEG的几个坑

小柊 发表于 2016年09月15日 19时09分18秒

一直觉得.net在多媒体处理方面渣得不行。最近需要做一个摄像头的程序,为了方便,用了AForge这个开源项目。AForge项目中有AForge.Video和AForge.Video. DirectShow这两个子项目,可以方便的调用摄像头。但是这两个项目最终只能取得视频帧,并不能保存为视频文件。经高人指点,AForge还有一个子项目AForge.Video.FFMPEG,它可以将图片压制成Avi视频格式。不过这个AForge.Video.FFMPEG在实际使用的时候会遇到不少坑,下面我将我在这次使用中遇到的坑分享给大家。

浏览内容