共80页: 首页 上一页 5 6 7 8 9 10 11 12 13 下一页 末页 
摘要: 昨天尝试用nginx搭建nuget镜像服务器,镜像服务器需要两个功能:1)反向代理;2)内容缓存。用nginx做反向代理,配置非常简单,只需在/etc/nginx/nginx.conf中添加一个包含proxy_pass的server设置。而添加缓存功能,配置稍微复杂些。阅读全文
posted @ 2015-06-24 12:04 dudu 阅读(21697) 评论(8) 编辑
摘要: 昨天在 Mac 上手写了一个最简单的 ASP.NET 5 程序,直接在 Startup.cs 中通过 Response.WriteAsync() 输出响应内容。今天接着昨天的代码,用 vim 一步一步手写一个最简单的 ASP.NET 5 MVC 程序。阅读全文
posted @ 2015-06-23 12:39 dudu 阅读(767) 评论(4) 编辑
摘要: 今天坐高铁时尝试了一种学习ASP.NET 5的笨方法,从空文件夹开始,根据运行dnx . kestrel命令的错误信息,一步一步写代码,直至将一个最简单的ASP.NET程序运行起来。虽然是用最笨的方法写了一个最简单的程序,但是这么动手操作一次,感觉就是不一样。阅读全文
posted @ 2015-06-22 23:11 dudu 阅读(1555) 评论(4) 编辑
摘要: 最近在使用 GitLab 的 Merge Requests 功能进行 Code Review 。我们在 Code Review 的过程中,在第 5-6 步遇到了一个奇怪问题:开发人员A在 push 到分支之后,开发人员B在 Code Review 时在 Merge Request 中看不到最新的 Commit。阅读全文
posted @ 2015-06-20 21:33 dudu 阅读(15549) 评论(0) 编辑
摘要: 对于一些返回数据非常简单的 Web API,比如我们今天遇到的“返回指定用户的未读站内短消息数”的Web API,返回数据就是一个数字,如果用 http response body 返回数据,显得有些奢侈。何不直接通过 http headers 返回呢?节能又环保。于是今天在 ASP.NET Web API 中实际试了一下。阅读全文
posted @ 2015-06-19 18:33 dudu 阅读(3866) 评论(12) 编辑
摘要: 在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了 ASP.NET 5 示例程序。在这篇博文中我们将 Ubuntu 换成 CentOS。目前 dnx 的编译需要用到 mono,所以先要安装 mono,而且最好是用最新的 mono 源代码进行编译并安装。阅读全文
posted @ 2015-06-18 23:55 dudu 阅读(4292) 评论(15) 编辑
摘要: 在 Linux Ubuntu 上成功编译 dnx 之后,会在 artifacts/build/ 文件夹中生成 dnx-coreclr-linux-x64/ 与 dnx-mono/ 这2个文件夹,前者是基于 coreclr 的 dnx ,后者是基于 mono 的 dnx 。这篇博文中我们将使用基于 coreclr 的 dnx 运行 ASP.NET 5 示例程序。阅读全文
posted @ 2015-06-18 12:32 dudu 阅读(2663) 评论(10) 编辑
摘要: 在C#中进行公钥加密/私钥解密,需要用RSACryptoServiceProvider,但是它不支持由OpenSSL生成的公钥/私钥字符串。网上有牛人通过解析公钥/私钥字符串,将之导入到SACryptoServiceProvider中(详见这里)。我们就是使用这位牛人的代码解决了这个问题。阅读全文
posted @ 2015-06-17 18:38 dudu 阅读(12792) 评论(29) 编辑
摘要: 编译时间:北京2015年6月17日上午;操作系统:Ubuntu 14.04.2 LTS;Mono版本:Mono JIT compiler version 4.3.0 (master/3445ac5 Tue Jun 16 20:43:48 CST 2015)。一、编译coreclr;二、编译corefx;三、编译dnx。阅读全文
posted @ 2015-06-17 12:21 dudu 阅读(1455) 评论(0) 编辑
摘要: 在前一篇博文中,我们通过以 OAuth 的 Client Credential Grant 授权方式(只验证调用客户端,不验证登录用户)拿到的 Access Token ,成功调用了与用户无关的 Web API。在这篇博文中,我们将以 OAuth 的 Resource Owner Password Credentials Grant 的授权方式( grant_type=password )获取 Access Token,并以这个 Token 调用与用户相关的 Web API。阅读全文
posted @ 2015-06-15 17:09 dudu 阅读(24331) 评论(51) 编辑
摘要: 在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider成功发放了Access Token,在客户端也成功拿到了Access Token。那Access Token有什么用呢?在OAuth中对Resource Server访问权限的验证都是基于Access Token。不管是什么样的客户端,Resource Server铁面无私,只认Access Token。阅读全文
posted @ 2015-06-12 23:13 dudu 阅读(15697) 评论(30) 编辑
摘要: OAuth真是一个复杂的东东,即使你把OAuth规范倒背如流,在具体实现时也会无从下手。因此,Microsoft.Owin.Security.OAuth应运而生,帮助开发者偷了不少工,减了不少料。这篇博文试图通过一个简单的示例分享一下如何基于Microsoft.Owin.Security.OAuth,使用Client Credentials Grant授权方式给客户端发放access token。阅读全文
posted @ 2015-06-11 22:54 dudu 阅读(19511) 评论(36) 编辑
摘要: 最近在改进园子的图片上传程序,希望实现用户上传图片时同时将图片文件保存在三个地方:1)服务器本地硬盘;2)又拍云;3)阿里云OSS。并且在保存时使用异步操作。对于异步保存到本地硬盘,只需用 Steam.CopyToAsync() 将上传文件流异步复制到 FileStream 即可。对于异步保存至又拍云,只要借助 WebRequest.GetRequestStreamAsync() + Steam.CopyToAsync() 就可以实现。阅读全文
posted @ 2015-06-08 22:57 dudu 阅读(5252) 评论(16) 编辑
摘要: GitLab的数据库用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能将GitLab的数据库部署在云服务器上。6月1日得知阿里云推出了PostgreSQL RDS,于是立马将GitLab的数据库迁移至PostgreSQL RDS。下面分享一下迁移的主要操作步骤。阅读全文
posted @ 2015-06-02 12:19 dudu 阅读(2544) 评论(3) 编辑
摘要: 这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编译都失败了。后来一一都解决了,在这篇博文中分享一下。阅读全文
posted @ 2015-05-31 12:18 dudu 阅读(1519) 评论(0) 编辑
摘要: DNX的全称是.NET Execution Enviroment(.NET执行环境),它是.NET跨平台的一个重要角色。如果你关注.NET的跨平台,一定要关注DNX。在mac上用自己编译出的dnx运行.NET程序,一是可以实际体会一下.NET跨平台的进展,二是可以随时折腾dnx,改改dnx的代码,编译出来就可以用它跑.NET程序。阅读全文
posted @ 2015-05-26 12:37 dudu 阅读(3690) 评论(10) 编辑
摘要: 在Mac上用最新版的dnx 1.0.0-beta5-11855进行dnu restore,出现下面的错误:Could not load file or assembly 'Newtonsoft.Json' or one of its dependencies。在 ~/.dnx/runtimes/dnx-mono.1.0.0-beta5-11855/bin 文件夹中找到了dnu文件,原来是一个shell文件。阅读全文
posted @ 2015-05-25 14:29 dudu 阅读(922) 评论(0) 编辑
摘要: 自从XRE改名为DNX到至今,从来没有在Mac OS X上成功编译过。一直很纳闷,难道DNX的开发人员不用Mac?今天突然明白了,DNX的开发人员真的不用Mac。而且DNX用的2个持续集成服务AppVeyor与Travis,一个是Windows环境,一个是Linux环境,就是没有Mac OS X环境。阅读全文
posted @ 2015-05-20 23:24 dudu 阅读(780) 评论(2) 编辑
摘要: 这2天实际开发中明确的东西,在这篇博文中记录一下。之前对是否需要自己封装UnitOfWork有些犹豫,因为Entity Framework就是一个UnitOfWork实现, 自己再封装一下显得有些多余。但是在这次开发中,把涉及数据库操作的实现代码放在最后写,先完成其他层的代码。这种情况下,根本用不了EF,只能先Fake出一个UnitOfWork,这时必须要进行UnitOfWork的封装。阅读全文
posted @ 2015-05-19 20:46 dudu 阅读(1354) 评论(6) 编辑
摘要: 在C#/.NET中,将文本内容写入文件最简单的方法是调用 File.WriteAllText() 方法,但这个方法没有异步的实现,只能改用有些复杂的 FileStream.WriteAsync() 方法。使用 FileStream.WriteAsync() 有2个需要注意的地方,1是要设置bufferSize,2是要将 useAsync 这个构造函数设置为true。阅读全文
posted @ 2015-05-18 15:29 dudu 阅读(2715) 评论(0) 编辑
共80页: 首页 上一页 5 6 7 8 9 10 11 12 13 下一页 末页