Scriban语言手册中文版
摘要:Scriban是一个快速、强大、安全且轻量级的模板引擎,同时兼容liquid语法规则。 项目地址:https://github.com/scriban/scriban 这个文档是语言语法的中文翻译 原文地址:https://github.com/scriban/scriban/blob/master
阅读全文
posted @
2024-03-07 19:13
Frank.Cui
阅读(2905)
推荐(1)
开源文件服务器file-service介绍
摘要:一个基于ASP.NET Core的可伸缩、通用的文件服务器。
通常后端项目可能会有头像、图片、音频、视频等上传/下载需求,这些需求都可以抽象为文件服务。
## 功能特点
* 支持Linux(推荐)、Windows
* 可伸缩式架构,支持部署1-N台文件服务器
* RESTful架构的API接口,支持多语言客户端
* 支持文件秒传、断点续传、远程拉取上传
* 支持为用户指定磁盘空间配额
* 支持自定义文件处理器
阅读全文
posted @
2018-10-16 11:21
Frank.Cui
阅读(9832)
推荐(5)
推荐一个比FiddlerCore好用的HTTP(S)代理服务器
摘要:为什么不用FiddlerCore? 说到FiddlerCore大家可能会比较陌生,那么它哥Fiddler就比较熟悉了;抓包、模拟低带宽、修改请求我平时比较常用。Fiddler的本质就是一个HTTP代理服务器。 FiddlerCore是Fiddler去除了UI的核心组件,可以用于二次开发。如下图所示:
阅读全文
posted @
2017-09-22 23:11
Frank.Cui
阅读(8205)
推荐(1)
解决Protobuf生成的C#代码命名不规范问题
摘要:起因 通常使用Protobuf的步骤为 1. 定义 文件 2. 使用 生成对应语言的代码 以生成C 代码为例,使用如下命令: 其生成的C 代码像这样: C 开发通常使用Pascal、Camel二种命名规范 用Pascal规则来命名类名、属性、方法和事件 用Camel规则来命名成员变量、局部变量和方法
阅读全文
posted @
2017-03-22 15:18
Frank.Cui
阅读(1259)
推荐(1)
DapperPoco -- 基于Dapper的、轻量级的、高性能的、简单的、灵活的ORM框架
摘要:为什么要重复造轮子 因为现有的轮子都在某些方面不太令我满意,下面我来一一点评一下,欢迎拍砖。 Entity Framework 我喜欢傻瓜化使用方式的框架,同时又不失灵活性。 EF虽然使用起来足够简单,但却不够灵活。例如,在EF Core中你无法用原生SQL写一个多表连接查询(返回的结果是多表连接的
阅读全文
posted @
2017-03-17 21:42
Frank.Cui
阅读(6658)
推荐(7)
使用StyleCop.Analyzers进行代码审查
摘要:为什么要进行代码审核?
提早发现代码中的BUG,避免将BUG带到生产环境
极大的提高软件质量,以及可维护性
统一代码规范、提高可读性,减少新加入成员的熟悉时间
加速个人和团队的成长,知识和经验的积累
阅读全文
posted @
2017-02-27 19:41
Frank.Cui
阅读(2634)
推荐(0)
自动化CodeReview - ASP.NET Core请求参数验证
摘要:自动化CodeReview系列目录 参数验证实现 在做服务端开发时经常需要对客户端传入的参数进行合法性验证,在ASP.NET Core中通常会使用如下方式: 这么写虽然可以验证参数了,但还是要多写一个if...else...,能不能简化成只用一行代码就实现验证呢? 答案是:可以的,先看简化后的用法:
阅读全文
posted @
2017-02-14 15:19
Frank.Cui
阅读(2180)
推荐(4)
自动化CodeReview - ASP.NET Core依赖注入
摘要:我个人比较懒,能自动做的事绝不手动做,最近在用ASP.NET Core写一个项目,过程中会积累一些方便的工具类或框架,分享出来欢迎大家点评。
如果以后有时间的话,我打算写一个系列的【实现BUG自动检测】,本文将是第一篇。
如果你使用过ASP.NET Core那么对依赖注入一定不陌生。
使用流程为:
1. 先注册Service,有3个方法AddTransient、AddScoped、AddSingleton
2. 再使用Service,通常在构造方法里声明
阅读全文
posted @
2017-01-10 23:35
Frank.Cui
阅读(1849)
推荐(9)
[转] Autofac创建实例的方法总结
摘要:1、InstancePerDependency 对每一个依赖或每一次调用创建一个新的唯一的实例。这也是默认的创建实例的方式。 官方文档解释:Configure the component so that every dependent component or call to Resolve() g
阅读全文
posted @
2016-10-20 12:48
Frank.Cui
阅读(234)
推荐(0)
PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)
摘要:我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db。
而且市面上的orm框架有很多,有重量级的Entity Framework,有轻量级的Dapper、PetaPoco等
假如你喜欢原生的Sql语句、又喜欢ORM的简单、又追求高性能,那么轻量级的ORM框架是你的不二选择。
说到轻量级ORM框架Dapper的名气比较大(因为出自名门?),但我却选择使用PetaPoco,因为:
阅读全文
posted @
2016-10-05 14:22
Frank.Cui
阅读(4157)
推荐(12)
TaskHosting - 开发桌面工具原来还可以这么简单
摘要:对于喜欢开发的我经常会写一些小工具,这些小工具多以功能为主,不要求漂亮、个性化的UI。但起码要保证使用方便,因此最基本的功能要有:
GUI(图片用户界面)
程序配置的保存与读取(让用户在GUI上操作要方便)
用户使用习惯的自动记录(例如:上次关闭时窗口位置及大小等)
程序崩溃捕获及上报
实时显示运行日志(当前执行到哪步了,输出结果是什么)
多线程管理及调度框架
如果每个工具都要COPY一遍以上功能的代码以后维护起来是个大坑,封装成库调用呢?那每个工具都要写一遍组装UI组件的代码。
仔细想一下,其实我要写的就是一款小工具,它以实现功能为主。
那么我就需要有一个开发框架,它可以让我只专注于功能(业务)的实现,简化UI相关的编码,最好是能用一行代码就实现一个UI功能,这个开发框架现在写好了我给它取名为TaskHosting
阅读全文
posted @
2016-09-04 12:26
Frank.Cui
阅读(2777)
推荐(3)
.NET4.5 Async 与 Async Targeting Pack区别
摘要:Async Targeting Pack for Microsoft Visual Studio 2012Installation Instructions & Release NotesThe "Async Targeting Pack for Visual Studio 2012" enables projects targeting .NET Framework 4.0 or Silverlight 5 to use the Async language feature in C# 5 and Visual Basic 11. This pack requir
阅读全文
posted @
2013-04-12 14:57
Frank.Cui
阅读(928)
推荐(0)
一个通用的WPF值转换器
摘要:WPF,Silverlight,绑定,转换器
阅读全文
posted @
2012-05-04 14:59
Frank.Cui
阅读(5257)
推荐(7)
[工具]Sql 导出到 Oracle
摘要:公司切换数据库,需要原来MsSql数据库的数据导出到Oracle中。本来SQL自带的“导入与导出”工具就挺好用的。不过由于我们的表结构比较特殊,SQL的“导入与导出”不太好使。
所兴就自己写了一个,现与大家分享!
阅读全文
posted @
2009-02-11 17:46
Frank.Cui
阅读(1126)
推荐(0)
关于C#的续行符
摘要:众所周知,如果你需要在代码中定义一个较长的字符串,首先我会想把它们放在多行上(因为放在一行上会不便于阅读),这样代码即美观又便于阅读;这就需要续行符了。
阅读全文
posted @
2009-02-10 09:48
Frank.Cui
阅读(4113)
推荐(0)
解决DotNetTextBox与window.history冲突!
摘要:DotNetTextBox是一个很不错的在线编辑工具,我一直在用它。
最近使用中发现它和window的history对象有冲突,原因就是它定义了一个全局的名为history的对象,覆盖默认的window.history。
所以当你想在页面中调用“后退”功能(window.history.go(-1))时会产生脚本错误,找不到对象或方法。
阅读全文
posted @
2008-11-18 12:41
Frank.Cui
阅读(345)
推荐(0)
也谈Windows Mobile中打开/关闭WIFI
摘要:看到Yonsm兄写的“Windows Mobile 中开关 WIFI 的“通用”代码”一文。
原文地址:http://www.yonsm.net/read.php?412
在我机器(586W 6.1)测试无效,研究后发现Yonsm兄的算法并不通用,至少在我机器上无效。
其实问题在于获取WIFI适配器的名称上。
搜索了遍注册表,终于找到了解决办法。
阅读全文
posted @
2008-11-11 15:49
Frank.Cui
阅读(3242)
推荐(0)
[更正]谈获取当前系统类型(SP OR PPC)
摘要:更正一下,以前没发现原来要获取平台类型不用读取注册表那么麻烦的,有一个API可以利用很简单就得到了,并且绝对准确!
函数功能描述:查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。
函数原型:B00L SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni);
实现代码
阅读全文
posted @
2008-11-11 11:10
Frank.Cui
阅读(1256)
推荐(0)
C#实现Eval函数功能
摘要:众所周知javascript有一个eval函数,可以动态执行代码。但在C#中却没有!
以下代码是在我项目中提取出的核心代码,其实很简单就是 编译-->生成程序集-->反射调用。
高手指点,新手学习!
阅读全文
posted @
2008-10-10 17:41
Frank.Cui
阅读(7318)
推荐(0)