随笔分类 -  .NET

1 2 下一页
.NET技术类别
Scriban语言手册中文版
摘要:Scriban是一个快速、强大、安全且轻量级的模板引擎,同时兼容liquid语法规则。 项目地址:https://github.com/scriban/scriban 这个文档是语言语法的中文翻译 原文地址:https://github.com/scriban/scriban/blob/master 阅读全文
posted @ 2024-03-07 19:13 Frank.Cui 阅读(2905) 评论(0) 推荐(1)
开源文件服务器file-service介绍
摘要:一个基于ASP.NET Core的可伸缩、通用的文件服务器。 通常后端项目可能会有头像、图片、音频、视频等上传/下载需求,这些需求都可以抽象为文件服务。 ## 功能特点 * 支持Linux(推荐)、Windows * 可伸缩式架构,支持部署1-N台文件服务器 * RESTful架构的API接口,支持多语言客户端 * 支持文件秒传、断点续传、远程拉取上传 * 支持为用户指定磁盘空间配额 * 支持自定义文件处理器 阅读全文
posted @ 2018-10-16 11:21 Frank.Cui 阅读(9832) 评论(6) 推荐(5)
推荐一个比FiddlerCore好用的HTTP(S)代理服务器
摘要:为什么不用FiddlerCore? 说到FiddlerCore大家可能会比较陌生,那么它哥Fiddler就比较熟悉了;抓包、模拟低带宽、修改请求我平时比较常用。Fiddler的本质就是一个HTTP代理服务器。 FiddlerCore是Fiddler去除了UI的核心组件,可以用于二次开发。如下图所示: 阅读全文
posted @ 2017-09-22 23:11 Frank.Cui 阅读(8205) 评论(0) 推荐(1)
解决Protobuf生成的C#代码命名不规范问题
摘要:起因 通常使用Protobuf的步骤为 1. 定义 文件 2. 使用 生成对应语言的代码 以生成C 代码为例,使用如下命令: 其生成的C 代码像这样: C 开发通常使用Pascal、Camel二种命名规范 用Pascal规则来命名类名、属性、方法和事件 用Camel规则来命名成员变量、局部变量和方法 阅读全文
posted @ 2017-03-22 15:18 Frank.Cui 阅读(1259) 评论(0) 推荐(1)
DapperPoco -- 基于Dapper的、轻量级的、高性能的、简单的、灵活的ORM框架
摘要:为什么要重复造轮子 因为现有的轮子都在某些方面不太令我满意,下面我来一一点评一下,欢迎拍砖。 Entity Framework 我喜欢傻瓜化使用方式的框架,同时又不失灵活性。 EF虽然使用起来足够简单,但却不够灵活。例如,在EF Core中你无法用原生SQL写一个多表连接查询(返回的结果是多表连接的 阅读全文
posted @ 2017-03-17 21:42 Frank.Cui 阅读(6658) 评论(35) 推荐(7)
使用StyleCop.Analyzers进行代码审查
摘要:为什么要进行代码审核? 提早发现代码中的BUG,避免将BUG带到生产环境 极大的提高软件质量,以及可维护性 统一代码规范、提高可读性,减少新加入成员的熟悉时间 加速个人和团队的成长,知识和经验的积累 阅读全文
posted @ 2017-02-27 19:41 Frank.Cui 阅读(2634) 评论(1) 推荐(0)
自动化CodeReview - ASP.NET Core请求参数验证
摘要:自动化CodeReview系列目录 参数验证实现 在做服务端开发时经常需要对客户端传入的参数进行合法性验证,在ASP.NET Core中通常会使用如下方式: 这么写虽然可以验证参数了,但还是要多写一个if...else...,能不能简化成只用一行代码就实现验证呢? 答案是:可以的,先看简化后的用法: 阅读全文
posted @ 2017-02-14 15:19 Frank.Cui 阅读(2180) 评论(0) 推荐(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) 评论(5) 推荐(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) 推荐(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) 评论(23) 推荐(12)
TaskHosting - 开发桌面工具原来还可以这么简单
摘要:对于喜欢开发的我经常会写一些小工具,这些小工具多以功能为主,不要求漂亮、个性化的UI。但起码要保证使用方便,因此最基本的功能要有: GUI(图片用户界面) 程序配置的保存与读取(让用户在GUI上操作要方便) 用户使用习惯的自动记录(例如:上次关闭时窗口位置及大小等) 程序崩溃捕获及上报 实时显示运行日志(当前执行到哪步了,输出结果是什么) 多线程管理及调度框架 如果每个工具都要COPY一遍以上功能的代码以后维护起来是个大坑,封装成库调用呢?那每个工具都要写一遍组装UI组件的代码。 仔细想一下,其实我要写的就是一款小工具,它以实现功能为主。 那么我就需要有一个开发框架,它可以让我只专注于功能(业务)的实现,简化UI相关的编码,最好是能用一行代码就实现一个UI功能,这个开发框架现在写好了我给它取名为TaskHosting 阅读全文
posted @ 2016-09-04 12:26 Frank.Cui 阅读(2777) 评论(5) 推荐(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) 推荐(0)
一个通用的WPF值转换器
摘要:WPF,Silverlight,绑定,转换器 阅读全文
posted @ 2012-05-04 14:59 Frank.Cui 阅读(5257) 评论(5) 推荐(7)
C#实现动态调用Windows DLL
摘要:C#实现动态调用Windows DLL 阅读全文
posted @ 2009-03-01 21:30 Frank.Cui 阅读(3287) 评论(6) 推荐(0)
[工具]Sql 导出到 Oracle
摘要:公司切换数据库,需要原来MsSql数据库的数据导出到Oracle中。本来SQL自带的“导入与导出”工具就挺好用的。不过由于我们的表结构比较特殊,SQL的“导入与导出”不太好使。 所兴就自己写了一个,现与大家分享! 阅读全文
posted @ 2009-02-11 17:46 Frank.Cui 阅读(1126) 评论(6) 推荐(0)
关于C#的续行符
摘要:众所周知,如果你需要在代码中定义一个较长的字符串,首先我会想把它们放在多行上(因为放在一行上会不便于阅读),这样代码即美观又便于阅读;这就需要续行符了。 阅读全文
posted @ 2009-02-10 09:48 Frank.Cui 阅读(4113) 评论(0) 推荐(0)
解决DotNetTextBox与window.history冲突!
摘要:DotNetTextBox是一个很不错的在线编辑工具,我一直在用它。 最近使用中发现它和window的history对象有冲突,原因就是它定义了一个全局的名为history的对象,覆盖默认的window.history。 所以当你想在页面中调用“后退”功能(window.history.go(-1))时会产生脚本错误,找不到对象或方法。 阅读全文
posted @ 2008-11-18 12:41 Frank.Cui 阅读(345) 评论(0) 推荐(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) 评论(4) 推荐(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) 推荐(0)
C#实现Eval函数功能
摘要:众所周知javascript有一个eval函数,可以动态执行代码。但在C#中却没有! 以下代码是在我项目中提取出的核心代码,其实很简单就是 编译-->生成程序集-->反射调用。 高手指点,新手学习! 阅读全文
posted @ 2008-10-10 17:41 Frank.Cui 阅读(7318) 评论(15) 推荐(0)

1 2 下一页