上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 85 下一页
摘要: 最近在学习如何用 Docker 部署生产环境中的 ASP.NET Core 站点,作为一个 Docer 新手,从何处下手更容易入门呢?一开始就手写 Docker 配置文件容易让人产生挫败感,想到 Visual Studio 2017 对 Docker 的支持(Docker Support),也许借助它自动生成Docker配置文件、初步体验一下 Docker 部署是一个入门捷径,遂据此想法尝试了一下,感觉不错。 阅读全文
posted @ 2017-05-30 17:03 dudu 阅读(8216) 评论(7) 推荐(2) 编辑
摘要: 这是最近在实际开发中遇到的一个问题,用 asp.net core 开发一个后端 web api ,根据指定的 key 清除 2 台 memcached 服务器上的缓存。背景是我们在进行 .net core 迁移工作,asp.net 项目与 asp.net core 项目并存,为了避免两种类型项目的缓存冲突,我们分别用了 2 台不同的 memcached 服务器。 阅读全文
posted @ 2017-05-21 12:10 dudu 阅读(4484) 评论(5) 推荐(9) 编辑
摘要: 自从接触 IOptions 之后,一直纠结这样的问题:自己定义的 Options 要不要实现 IOptions 接口。今天在使用 EnyimMemcachedCore ,需要手动 new MemcachedClientOptions 给 MemcachedClientConfiguration 的构造函数传参时,终于明白了实现 IOptions 的真正用处。 阅读全文
posted @ 2017-05-20 15:12 dudu 阅读(5368) 评论(5) 推荐(0) 编辑
摘要: 在将我们的 web api 从 .NET Framework 迁移至 .net core(asp.net core 1.1)之后,遇到一个问题。之前返回值类型为 HttpResponseMessage 的 web api 。原本会返回 json 格式的业务数据,现在返回的却是对 HttpResponseMessage 自己的 json 序列化数据 阅读全文
posted @ 2017-05-18 12:03 dudu 阅读(10863) 评论(8) 推荐(1) 编辑
摘要: 这是5月11日遇到的一个问题,1台1核1G阿里云Linux服务器运行着生产环境中的ASP.NET Core站点,出现CPU 100%问题。开始以为是这台服务器负载高引起的,于是将这台服务器从负载均衡上摘下来。这时奇怪的事情发生了,即使没有负载(无用户访问),CPU也在接近100%范围波动。 阅读全文
posted @ 2017-05-17 12:02 dudu 阅读(3991) 评论(6) 推荐(0) 编辑
摘要: C# 7.0的模式匹配(Pattern Mathing)不仅可以节省代码,而且可以让代码更流畅(Fluent),今天又在实际开发中体会了一下。不用模式匹配的代码,需要先获取返回值,然后用if进行判断。使用模式匹配的代码,在if中获取返回值并进行判断,一气呵成。 阅读全文
posted @ 2017-05-12 18:46 dudu 阅读(2319) 评论(6) 推荐(3) 编辑
摘要: 西雅图时间5月10日,微软在 Build 2017 大会上发布了 ASP.NET Core 2.0 Preview 1 ( 详见 Announcing ASP.NET 2.0.0-Preview1 and Updates for .NET Web Developers )。以下是我关注的、并且经过自己实际验证的贴心的新特性 阅读全文
posted @ 2017-05-12 14:11 dudu 阅读(3707) 评论(6) 推荐(3) 编辑
摘要: 这是一位朋友问我的问题,写篇随笔回答一下。有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions 。 1)先看丑陋的方法 比如在 RedisClient 中需要读取 appsettings.json 中的 redis 连接字符串: 需要在 Red 阅读全文
posted @ 2017-05-10 18:17 dudu 阅读(8863) 评论(18) 推荐(7) 编辑
摘要: 这是我们在实际ASP.NET Core项目中用到的,验证用户名中是否包含空格。开始是这么实现的(继承ValidationAttribute,重写IsValid方法)。但发现这样只对服务端验证有效,对前端验证无效。查资料后知道原来还需要实现 IClientModelValidator 接口。这样依然不够,还需要添加真正干活的前端验证js代码。 阅读全文
posted @ 2017-05-05 14:04 dudu 阅读(6708) 评论(0) 推荐(3) 编辑
摘要: 今天在重构代码时对下面的一堆if语句实在看着不顺眼。突然想到 C# 7.0 的新特性 —— Pattern Matching in C# 7.0 Case Blocks,眼前一亮。于是试试看能否消灭这一堆if,结果如愿以偿,又一次实际体会到 C# 7.0 的魅力。 阅读全文
posted @ 2017-05-04 14:03 dudu 阅读(5552) 评论(0) 推荐(10) 编辑
摘要: 我只发现IOptions的一个用处——方便了在.NET Core应用程序中使用强类型配置。如果没有IOptions,使用强类型配置需要自己解决下面2个问题:1)将配置文件(比如appsettings.json)中的配置反序列化至配置类的实例中;2)注入配置类的单例 阅读全文
posted @ 2017-04-20 21:48 dudu 阅读(9650) 评论(8) 推荐(6) 编辑
摘要: 对于用于保存记录添加时间的数据库日期字段,我们通常会设置一个 GETDATE() 的默认值,而不是在应用程序的代码中获取当前时间进行保存,这样可以避免由于web服务器时钟不同步引起的时间偏差。 Entity Framework Core 在设计时贴心地考虑到这个场景,提供了 .HasDefaultValueSql() 映射配置,今天在实际开发中体检了一下,的确管用。 阅读全文
posted @ 2017-04-20 18:20 dudu 阅读(5733) 评论(7) 推荐(9) 编辑
摘要: 参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu 14.04 服务器上成功安装 docker 。 后来发现更简单的安装方法: 或者: 1)更新 apt 的安装包列表 2)升级所有已安装的包 3)添加 apt 验 阅读全文
posted @ 2017-04-14 13:03 dudu 阅读(1304) 评论(2) 推荐(0) 编辑
摘要: 今天在一个集成测试项目中实际使用 ASP.NET Core 的 user secrets 保存敏感配置信息,避免了直接保存在 appsettings.json 中,在这篇随笔中记录一下。使用 user secrets 有两个有点麻烦的地方,需要手工在 .csproj 中添加两个配置。一个是 UserSecretsId ,一个是 DotNetCliToolReference 阅读全文
posted @ 2017-04-13 10:45 dudu 阅读(1690) 评论(1) 推荐(1) 编辑
摘要: 这是这两天ASP.NET Core迁移中遇到的一个问题。2个ASP.NET Core站点(对应于2个不同的ASP.NET Core Web应用程序),2个站点都可以登录,但在其中任1个站点登录后,在当前站点处于登录状态,访问另外1个站点却处于未登录状态。 阅读全文
posted @ 2017-03-03 12:58 dudu 阅读(2606) 评论(2) 推荐(12) 编辑
摘要: 今天将一个迁移至 ASP.NET Core 的项目放到一台 Linux 服务器上试运行。站点启动后,浏览器打开一个页面一直处于等待状态。接着奇怪的事情发生了,整个 Linux 服务器响应缓慢,ssh命令行输入都一顿一顿的,过了一会,直接停止响应,down机了,必须强制重启服务器才行。 阅读全文
posted @ 2017-02-15 17:33 dudu 阅读(5407) 评论(1) 推荐(4) 编辑
摘要: ASP.NET Core Data Protection 不仅提供了非对称加密能力,而且提供了灵活的秘钥存储方式以及一致的加解密接口(Protect与Unprotect)。Session中用到了它,Cookie验证中用到了它,OpenIdConnect中也用到了它。。。当然你也可以在应用开发中使用它,比如这篇博文中就是用它生成激活帐户的验证token 阅读全文
posted @ 2017-02-13 20:52 dudu 阅读(1895) 评论(0) 推荐(5) 编辑
摘要: 在你将现有的用户登录站点从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 阅读(2517) 评论(2) 推荐(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 阅读(22462) 评论(17) 推荐(52) 编辑
摘要: 自从微软做了一个艰难的决定——.NET Core彻底放弃project.json全面改回.csproj——至今,虽然赞美之声不断,但我依然不喜欢也难以接受这样的改变。 难以接受主要有两方面的原因:1)由繁入简易,由简入繁难;2)xml与json配置文件的混杂带来不一致的编辑体验 阅读全文
posted @ 2017-02-03 21:19 dudu 阅读(4757) 评论(5) 推荐(9) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 85 下一页