01 2015 档案
摘要:原文链接:.NET Core Open Source Update [Immo Landwerth发布于2015年1月28日]。corefx在github上的forks已经超过1000。从2014年11月至2015年1月,收到了250个pull requests。来自社区的贡献超过了来自微软内部的贡献。目前corefx已经完成了大约25%。
阅读全文
摘要:.NET Core CLR是技术含量最高,但却是最容易实现跨平台的。因为微软的CLR是C或C++写的,没有GUI,对Win32 API依赖很少,JIT与GC的代码估计都是从头写的。跨平台只需要将CLR的C/C++代码拿到其他平台上重新编译,然后改改就行了。
阅读全文
摘要:.NET程序员也有自己的幸福,.NET的跨平台是一种幸福,.NET的开源也是一种幸福,而更幸福的是可以通过开源的.NET了解.NET是如何一步步走向跨平台的,所以幸福是一种过程。在.NET跨平台的进程中,ASP.NET显然走在了前头,而通过探究ASP.NET 5是如何实现跨平台的,可以稍稍满足一下自己的好奇心。
阅读全文
摘要:跨平台的运行时(Runtime):JRE(JVM) ->.NET Core CLR 。跨平台的编译器(Compiler):javac ->Roslyn [github.com/dotnet/roslyn] 。跨平台的基础类库(BCL):JCL->.NET Core Framework [github...
阅读全文
摘要:今天,在 mac 下签出 .NET Core 的代码,却发现无法在 mac 下编译(代码库中没有 mac 下的 build 命令)。 .NET Core 是 .NET 跨平台的基石,如果 .NET Core 的开发人员在开发时都没有跨平台的意识,何谈做好 .NET Core 的跨平台。
阅读全文
摘要:前几天写了篇博客 ASP.NET 5中的那些K,刚把ASP.NET 5中的那些K搞明白了些,昨天发现微软正在让那些K消失。KRuntime的代码中,KRE与KLR的命名被改为了dotnet。今天下午又发现连KRuntime也被改名了,改为了XRE(Cross-Platform Runtime SDK)
阅读全文
摘要:Microsoft.AspNet.Server.WebListener虽然是一个.NET托管程序,是被 Microsoft.AspNet.Server.WebListener.ServerFactory.Initialize 调用的。但是WebListener在 Microsoft.AspNet.Server.WebListener.ServerFactory.Initialize 中调用了 Microsoft.Net.Http.Server.WebListener ,而在WebListener的构造函数中用到了非托管的httpapi.dll
阅读全文
摘要:之前为了实现在Windows中自动保存git用户名与密码,写过一篇博客终于解决“Git Windows客户端保存用户名与密码”的问题,需要进行一堆配置。而在Mac OS X中这个操作竟然如此简单。只需在Terminal中输入如下的命令。
阅读全文
摘要:OWIN最让人费解不是OWIN的五大角色(Host, Server, Middleware, Web Framework, Web Application),不是Application Delegate与Environment,而是.NET web servers,规范中并没有说明.NET web servers究竟是什么?它与通常的Web Server有什么区别?
阅读全文
摘要:SP.NET 5 beta2中增加了一个新特性,可以通过K命令生成MVC的代码,比如:k gen controller -name HomeController。如果你用的是Visual Studio,自然对这个功能不以为然,因为Visual Studio帮你干了。如果你用的是Mac,没有Visual Studio,也没有K Studio,不想自虐手写本可以通过模板生成的MVC代码,这个特性就值得关注了。
阅读全文
摘要:ASP.NET 5最大的变化是什么?首当其冲的就是多了很多K,K表示的是ASP.NET vNext的项目代号“Project K”,但很容易让人想到一个汉字——“坑”,希望K不要成为“坑”的缩写。KRE,全称是K Runtime Enviroment(好像有一阶段时间全称是K Runtime Engine),它是ASP.NET 5的运行时环境,是ASP.NET 5应用程序的执行环境。(它是ASP.NET 5中最大最重要的一个坑)
阅读全文
摘要:昨天微软发布了ASP.NET 5 beta2(详见ASP.NET 5 Beta2 发布),对ASP.NET 5的好奇心又被激发了。今天下午在Mac OS X体验了一下ASP.NET 5,而且借助Yeoman generators for ASP.NET 5,可以不用写1行代码,连project.json都不用写。有一种Mac下用Visual Studio的感觉。
阅读全文
摘要:昨天参加Oracle的一个活动,知道了WebLogic的强大,于是对应用服务器产生了兴趣。WebLogic是一个Java EE应用服务器(与Java EE对应的另外一个技术平台就是.NET)。为什么要应用服务器?当你开发了一个服务端应用程序,部署到服务器之后,需要一个针对这个应用程序的执行环境,而不是将代码放到服务器上就能运行。
阅读全文
摘要:用VS2015中创建了一个非常简单的ASP.NET5程序。在Startup.cs中只输入一行代码。将Target KRE version改为CoreCLR。在Visual Studio中按F5能正常运行。然后尝试部署到IIS中运行,采用了2种方式:1)VS2015的Publish方式;2)手动复制文件的方式。
阅读全文
摘要:前天喝的是卡布基诺,在咖啡效果期间症状明显减轻,但第2天感觉没有明显改善。昨天改喝平时最喝得最多的抹茶拿铁(抹茶粉+牛奶),看看是不是对感冒的恢复有帮助?中午开始喝,整个感觉都不错,症状有了明显减轻(流鼻涕),精神状态也不错。晚上出现了几次连续打喷嚏, 打喷嚏之后感觉舒服了很多,也睡了一个好觉。
阅读全文
摘要:这两天感冒了,昨天来到星巴克时有些纠结:是喝平时喜欢喝的抹茶拿铁,还是喝咖啡?是不是感冒喝咖啡效果更好一些?搜索到百度经验上的这篇文章“开水加咖啡快速消除感冒症状”后,决定喝咖啡,点的是卡布基诺(Cappuccino)。喝了之后,感觉效果不错,症状明显减轻了。后来发现一篇英文文章(How to Ea...
阅读全文
摘要:今天在写下面的代码时遭遇错误——“System.Web.UI.WebControls.Literal”不允许使用子控件。literalBody的类型是System.Web.UI.WebControls.Literal。将postBodyDiv与signatureDiv作为子控件添加到literalBody中,是为了避免字符串拼接带来的内存消耗。
阅读全文
摘要:用了Visual Studio 2015之后,发现没法跑xUnit单元测试,xUnit.net runner不支持VS2015,TestDriven.Net也不支持VS2015。等它们支持VS2015,不知要等到猴年还是要等到马月。于是今天决定不等了,尝试用msbuild跑单元测试解决这个问题。nuget上一搜,发现已经有人提供了xunit.MSBuild,直接用它就可以了。
阅读全文
摘要:今天在一个ASP.NET MVC Controller Action中写代码时,需要对ViewModel的字段进行验证。但这个Action处理的是手工编写的ajax请求(不是表单提交),无法使用ASP.NET MVC Validation功能。按照以前的写法,就要写if语句进行判断。但今天在声明式验证的美丽身姿的诱惑下,再也不想写这样的累赘代码。
阅读全文
摘要:从github上签出基于ASP.NET 5的MVC 6的源代码进行编译,发现有2个编译命令。build.cmd是针对Windows的编译命令,build.sh是针对Mac/Linux的编译命令,这本来没什么稀奇,但是打开这2个文件一看.令人奇怪的是在build.cmd中没有使用msbuild,而用的是Sake,更奇怪的是build.sh下用的也是Sake,并且都用到了KoreBuild。
阅读全文