随笔分类 - 原创
摘要:文章会不定期更新,以下内容均为个人总结,欢迎各位拍砖指正 序列化与反序列化 JSON.NET应该是.NET平台上使用最为广泛的序列化/反序列化包了,ASP.NET和ASP.NET Core中默认序列化/反序列化包 Jil官网上说性能优于JSON.NET 文本日志记录 NLog Log4Net 以上二
阅读全文
摘要:关于ASP.NET Core远程调试的具体做法可参考微软文档——Remote Debug ASP.NET Core on a Remote IIS Computer in Visual Studio 2017,详细做法不再赘述,这里主要记录下自己的感受。 体验Web Deploy这种发布方式可直接将
阅读全文
摘要:前几天在webapi项目中遇到一个问题:Controller构造函数中抛出异常时全局过滤器捕获不到,于是网搜一把写下这篇博客作为总结。 HttpResponseException 通常在WebAPI的Controller中抛出的未处理异常,会以500的形式返回到客户端。而HttpResponseEx
阅读全文
摘要:今天得空,就在Ubuntu17.04上安装了SQL SERVER 2017体验下,总体来说还是不错的。 在Ubuntu上安装SQL SERVER 2017还是比较方便的,只需几条命令即可: 目前,在安装SQL SERVER 2017有7个版本可供选择,我选了免费的EXPRESS版。执行完上述命令,会
阅读全文
摘要:在实际编程中,会经常遇到多个类中的某些方法实现逻辑类似的情况,这时我们可以将这些类中的相同部分抽象到父类中,对于有差异的地方,子类根据自身的实际需求来各自实现。 以羽毛球运动为例,打球必有发接发环节,发球分正手和反手两种(这里不谈论羽球技术细节),一般男单反手发球,女单正手发球,但发接发这个环节的流
阅读全文
摘要:开发系统:Ubuntu 17.04Redis驱动:StackExchange.Redis 1.2.3Redis版本:3.2.1开发平台:.NET Core 对于Redis的介绍这里只写一句:Redis是一种基于内存的高性能非关系型数据库,它以kye-value的形式来存储数据。 核心对象 Redis
阅读全文
摘要:请求处理管道 请求管道是一些用于处理HTTP请求的模块组合,在ASP.NET中,请求管道有两个核心组件:IHttpModule和IHttpHandler。所有的HTTP请求都会进入IHttpHandler,有IHttpHandler进行最终的处理,而IHttpModule通过订阅HttpApplic
阅读全文
摘要:语言集成查询(Language-Integrated Query),简称LINQ,.NET中的LINQ体系如下图所示: 在编程语言层次,LINQ对于不同的数据源提供了相同的查询语法,方便了程序员操作不同的数据源。 可查询类型 LINQ之所以能够使用相同的语法操作不同的数据源,是因为和LINQ直接打交
阅读全文
摘要:为了让.Net中的值类型可以赋值为null,微软特地添加了Nullable<T>类型,也可简写为T?。但是Nullable<T>自身是结构体,也是值类型,那么它是如何实现将null赋值给值类型的呢? 下面通过自定义一个可空值类型来讲解Nullable<T>的实现原理。 自定义可空值类型 一个可空值类
阅读全文
摘要:本文为翻译文章,原文:Packages, Metapackages and Frameworks .NET Core是一个由NuGet包组成的平台。一些产品受益于细粒度包的定义,也有一些受益于粗粒度包的定义。为了适应这种二重性,.NET Core平台被分为一组细粒度的包(package)以及一些被称
阅读全文
摘要:对于大量数据的查询和展示使用分页是一种不错的选择,这篇文章简要介绍下自己实现分页查询的思路。 分页需要三个变量:数据总量、每页显示的数据条数、当前页码。 根据数据总量和每页显示的数据条数计算出总页数,根据当前页码和每页显示的数据条数计算出从数据库中读取数据的起始行号和结束行号。 对于数据库的查询操作
阅读全文
摘要:引言 接口和抽象类是面向对象编程(OOP, Object Oriented programming)中两个绕不开的概念,二者相似而又有所不同。接下来,我们来了解二者的概念并比较它们的异同。 什么是抽象类型? 抽象类是一种特殊的类,该类不能被实例化。抽象类的存在就是为了被继承,即抽象类可以被其它类继承
阅读全文
摘要:我们使用H5可以很容易的实现图片上传前对其进行预览的功能 Html代码如下: 实现预览功能的js代码如下: 最后注意一点,H5实现图片预览只能使用原生JS进行DOM元素的操作,若使用jQuery则无法实现该效果。 参考文章: H5中的File对象H5中的FileList对象H5中的FileReade
阅读全文
摘要:作为一个后端程序员,也是要和前端页面打交道的。最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求。实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用一些别人封装好的js库来辅助我们的工作,jQuery就是这些辅助库中的一员。 常用选择器 //操作多
阅读全文
摘要:JavaScript内置函数random(seed)可以产生[0,1)之间的随机数,若想要生成其它范围的随机数该如何做呢? 生成任意范围的随机数 //生成[100,120)之间的随机数 Math.floor(Math.random() * 20+100); 大于等于100小于120的随机数: 我们还
阅读全文
摘要:功能需求 先说说自己的实现思路: 实现 首先创建一个接口,用于约束水印的创建方式: 具体实现: public class Watermark : IWatermark { //水印画布 protected virtual Rectangle WatermarkCanvas { set; get; }
阅读全文
摘要:类 Python中,类的命名使用帕斯卡命名方式,即首字母大写。 Python中定义类的方式如下: 省略父类名表示该类直接继承自object,类的实例化如下: __init__()是类的构造函数,在实例化时调用,它的参数self表示类实例。 类中的字段 字段的访问级别: Python中以双下划线开头的
阅读全文
摘要:使用H5+ASP.NET General Handler开发项目,使用ajax进行前后端的通讯。有一个场景需求是根据服务器返回的不同数据类型,前端进行不同的响应,这里记录下如何使用$.ajax实现该需求。 参考文章: Ajax Content Type Handling in jQueryjQuer
阅读全文
摘要:什么是ModelBinding ASP.NET MVC中,所有的请求最终都会到达某个Controller中的某个Action并由该Action负责具体的处理和响应。为了能够正确处理请求,Action的参数(如果有的话),必须在Action执行之前,根据相应的规则,把请求中所包含的数据提取出来并将映射
阅读全文
摘要:Model验证是ASP.NET MVC中的重要部分,它主要用于判断输入的数据类型及值是否符合我们设定的规则,这篇文章就介绍下ASP.NET MVC中Model验证的几种方式。 后台验证 DataAnnotation ValidationAttribute IValidatableObject IDa
阅读全文

浙公网安备 33010602011771号