上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 85 下一页
摘要: 之前只知道在同步方法中调用异步(async)方法时,如果用.Result等待调用结果,会造成线程死锁(deadlock)。自己也吃过这个苦头,详见等到花儿也谢了的await。昨天一个偶然的情况,造成在同步方法中调用了async方法,并且没有使用.Result,结果造成整个ASP.NET应用程序的崩溃,见识了同步/异步水火难容的厉害。 阅读全文
posted @ 2015-07-08 12:57 dudu 阅读(11144) 评论(17) 推荐(20) 编辑
摘要: Linux用的是Ubuntu,dnx版本是1.0.0-beta6-12120,EF版本是7.0.0-beta5。以下是用Entity Framework 7生成SQL Server数据库的操作步骤。在project.json中添加Entity Framework 7的引用。定义实体类。定义DbContext。在config.json中添加数据库连接字符串。在Startup.cs中加载config.json中的配置。 阅读全文
posted @ 2015-07-05 11:55 dudu 阅读(2988) 评论(5) 推荐(2) 编辑
摘要: 最近在测试一个第三方API,准备集成在我们的网站应用中。API的调用使用的是HttpClient,由于这个API会在关键业务中用到,对调用API的整体响应速度有严格要求,所以对HttpClient有了格外的关注。开始测试的时候,只在客户端通过HttpClient用PostAsync发了一个http post请求。 阅读全文
posted @ 2015-07-03 12:37 dudu 阅读(67938) 评论(74) 推荐(85) 编辑
摘要: 估计有1个月了,在mac上编译dnx从来没有成功过,因为在安装nuget packages时连接myget.org总是超时。今天在 ASP.NET 5 Beta5 Now Available 中得知 dnx 已经支持 NuGet v3 feed,而且说"Restoring packages using the new NuGet v3 feed is significantly faster"。于是将 dnx 中的 NuGet.Config 改为 v3 feed。 阅读全文
posted @ 2015-07-01 23:24 dudu 阅读(3718) 评论(6) 推荐(0) 编辑
摘要: Kestrel是目前在非Windows平台上运行ASP.NET 5应用程序的唯一可用Web服务器,但微软似乎将它冷落在一边,源代码更新很慢。今天试着在Linux上编译Kestrel的源代码,遇到了很多问题。在这篇博文中记录一下。 阅读全文
posted @ 2015-06-30 21:01 dudu 阅读(3791) 评论(8) 推荐(0) 编辑
摘要: 前几天在使用基于 mono 的 dnx 中的 dnu restore 命令安装 nuget 包包时,遇到了 “Cannot handle address family” 错误。在 github 上提交 issue 之后,从回复中得知这是 mono 的一个 bug,有人已经向 mono 提交了这个 bug。当时错误一直存在,怎么也无法完成 dnu restore 。后来,过了一段时间再操作,突然就好了。 阅读全文
posted @ 2015-06-30 16:34 dudu 阅读(1188) 评论(0) 推荐(0) 编辑
摘要: 在Ubuntu上写好了一个简单的ASP.NET 5应用程序,尝试将这个程序部署在没有mono环境的CentOS服务器上。部署步骤如下:1)安装libuv;2)安装openssl;3)安装dnvm;4)用dnvm安装基于coreclr的dnx;5)用git签出ASP.NET 5应用程序的源代码;6)安装ASP.NET 5应用程序所需的nuget包包;7)通过dnx命令运行ASP.NET 5应用程序。 阅读全文
posted @ 2015-06-29 12:00 dudu 阅读(2422) 评论(1) 推荐(7) 编辑
摘要: ASP.NET 5 与之前的 ASP.NET 相比,有着翻天覆地的变化。了解与熟悉它需要一个过程,而我选择的了解方式是一步一步从无而有手写一个简单的 ASP.NET 5 程序,然后根据遇到的问题进行学习。这篇博文是关于静态文件(比如图片,css)处理的。 阅读全文
posted @ 2015-06-28 16:39 dudu 阅读(1622) 评论(2) 推荐(1) 编辑
摘要: 在 ASP.NET 5 中如果不进行显示错误信息的相关配置,在发生错误时,在浏览器中只能看到空白页面。配置方法如下:1)在 project.json 中添加对 Microsoft.AspNet.Diagnostics 的引用;2)在 Startup.cs 中添加 app.UseErrorPage() 。 阅读全文
posted @ 2015-06-28 15:36 dudu 阅读(2473) 评论(1) 推荐(0) 编辑
摘要: 在 Linux Ubuntu 服务器上用 dnx 基于 Kestrel 成功运行一个 ASP.NET 5 站点后,怎么也无无法退出。不管是按回车,还是按ctrl-C,还是按ctrl-Z。直接关闭客户端 ssh 窗口,命令依然在运行,站点依然可以正常访问。 阅读全文
posted @ 2015-06-27 17:56 dudu 阅读(66767) 评论(0) 推荐(3) 编辑
摘要: 昨天尝试用nginx搭建nuget镜像服务器,镜像服务器需要两个功能:1)反向代理;2)内容缓存。用nginx做反向代理,配置非常简单,只需在/etc/nginx/nginx.conf中添加一个包含proxy_pass的server设置。而添加缓存功能,配置稍微复杂些。 阅读全文
posted @ 2015-06-24 12:04 dudu 阅读(41166) 评论(8) 推荐(2) 编辑
摘要: 昨天在 Mac 上手写了一个最简单的 ASP.NET 5 程序,直接在 Startup.cs 中通过 Response.WriteAsync() 输出响应内容。今天接着昨天的代码,用 vim 一步一步手写一个最简单的 ASP.NET 5 MVC 程序。 阅读全文
posted @ 2015-06-23 12:39 dudu 阅读(1238) 评论(4) 推荐(1) 编辑
摘要: 今天坐高铁时尝试了一种学习ASP.NET 5的笨方法,从空文件夹开始,根据运行dnx . kestrel命令的错误信息,一步一步写代码,直至将一个最简单的ASP.NET程序运行起来。虽然是用最笨的方法写了一个最简单的程序,但是这么动手操作一次,感觉就是不一样。 阅读全文
posted @ 2015-06-22 23:11 dudu 阅读(2360) 评论(4) 推荐(2) 编辑
摘要: 最近在使用 GitLab 的 Merge Requests 功能进行 Code Review 。我们在 Code Review 的过程中,在第 5-6 步遇到了一个奇怪问题:开发人员A在 push 到分支之后,开发人员B在 Code Review 时在 Merge Request 中看不到最新的 Commit。 阅读全文
posted @ 2015-06-20 21:33 dudu 阅读(29398) 评论(0) 推荐(2) 编辑
摘要: 对于一些返回数据非常简单的 Web API,比如我们今天遇到的“返回指定用户的未读站内短消息数”的Web API,返回数据就是一个数字,如果用 http response body 返回数据,显得有些奢侈。何不直接通过 http headers 返回呢?节能又环保。于是今天在 ASP.NET Web API 中实际试了一下。 阅读全文
posted @ 2015-06-19 18:33 dudu 阅读(6186) 评论(12) 推荐(5) 编辑
摘要: 在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了 ASP.NET 5 示例程序。在这篇博文中我们将 Ubuntu 换成 CentOS。目前 dnx 的编译需要用到 mono,所以先要安装 mono,而且最好是用最新的 mono 源代码进行编译并安装。 阅读全文
posted @ 2015-06-18 23:55 dudu 阅读(4915) 评论(15) 推荐(12) 编辑
摘要: 在 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 阅读(3628) 评论(10) 推荐(5) 编辑
摘要: 在C#中进行公钥加密/私钥解密,需要用RSACryptoServiceProvider,但是它不支持由OpenSSL生成的公钥/私钥字符串。网上有牛人通过解析公钥/私钥字符串,将之导入到SACryptoServiceProvider中(详见这里)。我们就是使用这位牛人的代码解决了这个问题。 阅读全文
posted @ 2015-06-17 18:38 dudu 阅读(24458) 评论(32) 推荐(9) 编辑
摘要: 编译时间:北京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 阅读(1985) 评论(0) 推荐(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 阅读(30762) 评论(56) 推荐(25) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 85 下一页