共78页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页 
摘要: 这是一位朋友问我的问题,写篇随笔回答一下。有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions 。 1)先看丑陋的方法 比如在 RedisClient 中需要读取 appsettings.json 中的 redis 连接字符串: 需要在 Red阅读全文
posted @ 2017-05-10 18:17 dudu 阅读(476) 评论(4) 编辑
摘要: 这是我们在实际ASP.NET Core项目中用到的,验证用户名中是否包含空格。开始是这么实现的(继承ValidationAttribute,重写IsValid方法)。但发现这样只对服务端验证有效,对前端验证无效。查资料后知道原来还需要实现 IClientModelValidator 接口。这样依然不够,还需要添加真正干活的前端验证js代码。阅读全文
posted @ 2017-05-05 14:04 dudu 阅读(346) 评论(0) 编辑
摘要: 今天在重构代码时对下面的一堆if语句实在看着不顺眼。突然想到 C# 7.0 的新特性 —— Pattern Matching in C# 7.0 Case Blocks,眼前一亮。于是试试看能否消灭这一堆if,结果如愿以偿,又一次实际体会到 C# 7.0 的魅力。阅读全文
posted @ 2017-05-04 14:03 dudu 阅读(387) 评论(0) 编辑
摘要: 我只发现IOptions的一个用处——方便了在.NET Core应用程序中使用强类型配置。如果没有IOptions,使用强类型配置需要自己解决下面2个问题:1)将配置文件(比如appsettings.json)中的配置反序列化至配置类的实例中;2)注入配置类的单例阅读全文
posted @ 2017-04-20 21:48 dudu 阅读(357) 评论(5) 编辑
摘要: 对于用于保存记录添加时间的数据库日期字段,我们通常会设置一个 GETDATE() 的默认值,而不是在应用程序的代码中获取当前时间进行保存,这样可以避免由于web服务器时钟不同步引起的时间偏差。 Entity Framework Core 在设计时贴心地考虑到这个场景,提供了 .HasDefaultValueSql() 映射配置,今天在实际开发中体检了一下,的确管用。阅读全文
posted @ 2017-04-20 18:20 dudu 阅读(437) 评论(6) 编辑
摘要: 参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu 14.04 服务器上成功安装 docker 。 后来发现更简单的安装方法: 或者: 1)更新 apt 的安装包列表 2)升级所有已安装的包 3)添加 apt 验阅读全文
posted @ 2017-04-14 13:03 dudu 阅读(309) 评论(2) 编辑
摘要: 今天在一个集成测试项目中实际使用 ASP.NET Core 的 user secrets 保存敏感配置信息,避免了直接保存在 appsettings.json 中,在这篇随笔中记录一下。使用 user secrets 有两个有点麻烦的地方,需要手工在 .csproj 中添加两个配置。一个是 UserSecretsId ,一个是 DotNetCliToolReference阅读全文
posted @ 2017-04-13 10:45 dudu 阅读(190) 评论(1) 编辑
摘要: 这是这两天ASP.NET Core迁移中遇到的一个问题。2个ASP.NET Core站点(对应于2个不同的ASP.NET Core Web应用程序),2个站点都可以登录,但在其中任1个站点登录后,在当前站点处于登录状态,访问另外1个站点却处于未登录状态。阅读全文
posted @ 2017-03-03 12:58 dudu 阅读(337) 评论(1) 编辑
摘要: 今天将一个迁移至 ASP.NET Core 的项目放到一台 Linux 服务器上试运行。站点启动后,浏览器打开一个页面一直处于等待状态。接着奇怪的事情发生了,整个 Linux 服务器响应缓慢,ssh命令行输入都一顿一顿的,过了一会,直接停止响应,down机了,必须强制重启服务器才行。阅读全文
posted @ 2017-02-15 17:33 dudu 阅读(639) 评论(0) 编辑
摘要: ASP.NET Core Data Protection 不仅提供了非对称加密能力,而且提供了灵活的秘钥存储方式以及一致的加解密接口(Protect与Unprotect)。Session中用到了它,Cookie验证中用到了它,OpenIdConnect中也用到了它。。。当然你也可以在应用开发中使用它,比如这篇博文中就是用它生成激活帐户的验证token阅读全文
posted @ 2017-02-13 20:52 dudu 阅读(315) 评论(0) 编辑
摘要: 在你将现有的用户登录站点从ASP.NET迁移至ASP.NET Core时,你将面临这样一个问题——如何让ASP.NET与ASP.NET Core用户验证Cookie并存,让ASP.NET应用与ASP.NET Core应用分别使用各自的Cookie?因为ASP.NET用的是FormsAuthentication,ASP.NET Core用的是claims-based authentication,而且它们的加密算法不一样阅读全文
posted @ 2017-02-05 18:01 dudu 阅读(884) 评论(2) 编辑
摘要: 这篇英文博文是 Andrew Lock 写的 Introduction to Authentication with ASP.NET Core 。ASP.NET Core 的验证模型是 claims-based authentication 。Claim 是对被验证主体特征的一种表述。一组claims构成了一个identity,具有这些claims的identity就是 ClaimsIdentity阅读全文
posted @ 2017-02-05 12:14 dudu 阅读(919) 评论(3) 编辑
摘要: 自从微软做了一个艰难的决定——.NET Core彻底放弃project.json全面改回.csproj——至今,虽然赞美之声不断,但我依然不喜欢也难以接受这样的改变。 难以接受主要有两方面的原因:1)由繁入简易,由简入繁难;2)xml与json配置文件的混杂带来不一致的编辑体验阅读全文
posted @ 2017-02-03 21:19 dudu 阅读(1332) 评论(5) 编辑
摘要: 这是今天坐公交时继续阅读这篇采访报道的收获。新一代.NET平台的三大框架是:.NET Core, .NET Framework, Mono,它们的定位分别是:.NET Core 定位于跨平台服务端应用开发;.NET Framework 定位于 Windows 桌面应用开发;Mono 定位于移动应用开发阅读全文
posted @ 2017-02-02 14:49 dudu 阅读(675) 评论(2) 编辑
摘要: 今天坐公交时用手机打开 .NET Blog 阅读这周的 The week in .NET ,在看 Virtual Panel: What's Next for .NET? 这篇采访报道时,被其中对 Richard Lander (Principal Program Manager Lead on the .NET Team at Microsoft) 的一段采访所吸引阅读全文
posted @ 2017-02-01 18:51 dudu 阅读(611) 评论(6) 编辑
摘要: 今天用 SQL Server Profiler 查看 Entity Framework Core 生成的 SQL 语句时,突然发现一个细节改进,并且被它震撼了一下。震撼之处就是这个u(表的别名),它可不是 EF Core 随意起的名字,而是来自 LINQ 代码中的命名。阅读全文
posted @ 2017-01-19 23:08 dudu 阅读(632) 评论(6) 编辑
摘要: 在 Entity Framework (非EF Core)中,当通过 EF 使用 LINQ 查询获取到一个实体时,这个实体的状态是默认被跟踪的。所以,当你修改某些实体属性的值之后调用 SaveChanges() ,EF 就会生成只针对这些被修改属性的 UPDATE SQL 语句。阅读全文
posted @ 2017-01-17 16:32 dudu 阅读(319) 评论(0) 编辑
摘要: .NET Core 迁移工作如火如荼,今天在使用 Entity Frameowork Core(又名EF Core)时写了下面这样的 LINQ 查询表达式: 结果在 SQL Server Profiler 中发现竟然进行了全表查询。 之后将 new Guid(userId) 从表达式中移出,保存于一阅读全文
posted @ 2017-01-16 22:06 dudu 阅读(528) 评论(5) 编辑
摘要: 之前在将 Memcached 客户端 EnyimMemcached 迁移 .NET Core 时被这个“坑”坑的刻骨铭心,当时以为只是在构造函数中调用异步方法才会出线死锁(deaklock)问题。最近在使用 redis 客户端 StackExchange.Redis 时也遇到了这个问题。阅读全文
posted @ 2017-01-05 14:24 dudu 阅读(1111) 评论(10) 编辑
摘要: 这是在昨天的 .NET Core 迁移中遇到的问题,之前在 .NET Framework 中是这样合并 Expression阅读全文
posted @ 2016-12-30 12:30 dudu 阅读(654) 评论(4) 编辑
共78页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页