Oak 入门:一种不同的方法

我上次介绍过,Oak 项目是一种 Web 框架,它融合了基于更加动态语言的框架(例如 Ruby on Rails;或 Node.js 中各种 MVC Web 框架,如 Express 或 Tower)所共有的动态特性和方法。由于基于 Microsoft .NET Framework 并使用 C# 的动态语言运行时 (DLR) 部分,Oak 采用的 Web 应用程序开发方法与传统 ASP.NET MVC 开发者有很大的差别。因此,正如上次文章中所述,要获得进行 Oak 开发需要的程序包,您不只需要通过 NuGet 下载,还要做稍微复杂一点的工作。

如果您已经读过上一期专栏 (msdn.microsoft.com/magazine/dn451446)、下载并安装了程序包、启动了持续的生成 sidekick,并在您的计算机上运行了初始生成(您可能还记得,是在 IIS Express 中端口 3000 上),那么,您现在就可以开始在 Oak 中进行开发工作了。

启动

如果还未在计算机上运行,请从命令提示符运行“rake”和“rake server”,以确保一切正常。然后,启动“sidekick”(如果它尚未运行),再打开浏览器并访问 localhost:3000,如图 1 所示。

图 1 Oak 项目帮助窗口

如此处显示的教程所示,可通过一种面包屑式的分步演练来学习 Oak。在深入学习之前,先来快速看一看该项目的结构,如图 2 所示。

图 2 Visual Studio 解决方案资源管理器中的 Oak 项目结构

该种子项目由两个项目构成:ASP.NET MVC 项目和包含对解决方案的测试的项目。该 MVC 项目是一个传统的 ASP.NET MVC 应用程序,其中增加了包含组成项目 Oak 部分的源文件的“Oak”文件夹。这使得在调试过程中逐步执行代码的 Oak 部分变得无足轻重,并且,本着所有开源项目的宗旨,这也支持您根据需要在本地进行修改。目前,该项目没有模型,只有三个控制器和两个视图。更重要的是,由于此处的代码并不能实现太多功能,对端点的第一个请求将产生一个错误,说明不存在“Index.cshtml”(或类似)视图。Oak 引导程序建议执行两个步骤。首先您需要创建两个新类型:Blog 和 Blogs,后者是 Blog 实例的集合。将该类命名为“Blogs”让您能够基于约定轻松访问数据库中的 Blogs 表:

          public class Blogs : DynamicRepository
{
}
// This is a dynamic entity that represents the blog
public class Blog : DynamicModel
{
  public Blog() { }
  public Blog(object dto) : base(dto) { }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索框架
, 运行
, 项目
, public
, blog
两个
pine、splendid、oak tree、oakley、oak语言,以便于您获取更多的相关知识。

时间: 2025-01-30 04:00:13

Oak 入门:一种不同的方法的相关文章

Android中3种全屏方法及3种去掉标题栏的方法

这篇文章主要介绍了Android中3种全屏方法及3种去掉标题栏的方法,二个问题各给出了3种解决方法,并给出实例代码,需要的朋友可以参考下     一.去掉标题栏的方法 第一种:入门的时候经常使用的一种方法 代码如下: requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉标题栏注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml文件中定义 代码如下: <application

thinkPHP中钩子的两种配置调用方法详解_php实例

本文实例讲述了thinkPHP中钩子的两种配置调用方法.分享给大家供大家参考,具体如下: thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还是在一边调节细节,一边试验的过程中实现了钩子行为的设置.下面是我个人的设置经验,在这里跟大家分享一下. 个人做了两种设置,都试验成功了,一个简单点,在thinkphp

thinkPHP中钩子的两种配置调用方法详解

本文实例讲述了thinkPHP中钩子的两种配置调用方法.分享给大家供大家参考,具体如下: thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还是在一边调节细节,一边试验的过程中实现了钩子行为的设置.下面是我个人的设置经验,在这里跟大家分享一下. 个人做了两种设置,都试验成功了,一个简单点,在thinkphp

AJAX 开发的两种不同的方法

ajax     最近几年Ajax应用程序开发出现了两种截然不同的方法,每一种方法都对以前的结构模型进行扩展.由于两种方法性质看起来是不同的,所以在实际应用程序的开发中应选择其中一种.     当我们第一次听到Ajax这个术语的时候,我们的第一反应可能就是其较高的Web页面交互性.至少在JavaScript中的Web应用程序部分必要的代码提供交互性,虽然在Ajax应用程序意义方面都有一致的意见,但对于开发者如何与JavaScript进行交互或者如何在客户端与服务器之间分配显示逻辑有一些分歧.  

ASP两种调试程序的方法

程序 大家在调试一个程序时,有时候可能这个程序很长,多到成百上千行的代码,如果你的程序写的又零乱不堪,到了这种时候通常都不知道自己写了些什么,有些人还比较懒,像我,连个注释都不写,但是我从来没有被我的程序搞晕过,一般来说,不管你的程序是不是面向对像的开发模式,在局部的程序代码里,你的程序还是结构式的,如果你没有把一个模块分成几个小模块去做,而是几百行甚至上千行的代码全在一个模块里,那么一但出了问题,你恐怕哭都来不及,你不得不整天整天的找bug,就算你的程序运行上没有问题,而在设计上却有漏洞什么的

.Net下几种日志管理方法

.Net下几种日志管理方法 日志是应用程序中不可缺少的一部份,不仅可以记录应用程序的运行状态,还可以记录一些BUG,便于应用程序的更新与修改.在.Net有好几种方法可以对日志进行管理.1.数据库日志.2.文本日志.3.系统事件日志. 首先,对于数据库日志而言,它的使用简单而且方便.这里就不做太多的讨论,相信写过与数据相关的项目的人都会用数据来记录一些日志.然而它唯一不好的就是:必须先保证你的数据库链接是正确无误的.然而这一保证不是必然的,所以这里我再讨论一下其它的两种情况,文本日志及系统事件日志

ORACLE获取DDL的几种常用的方法

oracle ORACLE获取DDL的几种常用的方法   作者:刘颖博 时间:2004-2-26 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   大体的分为三种方法: 一:可以通过toad.plsql develop等第三方工具进行导出DLL操作,用这种办法的好处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句的操作.   1.首先是toad工具,可以到www.quest.com网站上下载 操作步骤的简要介绍如下: a.    启动to

SQL服务器内存有两种基本管理方法:动态分配和静态分配

动态|服务器|静态 SQL服务器内存有两种基本管理方法:动态分配和静态分配 控制程序可使用的内存数量.动态分配允许管理员声明一块内存的大小:考虑到它的实际使用,SQL服务器可以分配给其需要占用的内存的最大值,并且(理论上)在没有使用内存的情况下将其释放.静态分配则是创建一块固定的内存空间,提供给SQL Server使用--不再进行分配. 在默认情况下,SQL Server被设置成动态分配,分配给其正在运行的计算机内所有可用的物理内存.许多管理员注意到SQL Server内存随时间的流逝被逐渐消耗

给大家介绍两种调试程序的方法,希望版主帖到精华区里!!!!!!

程序|精华 大家在调试一个程序时,有时候可能这个程序很长,多到成百上千行的代码,如果你的程序写的又零乱不堪,到了这种时候通常都不知道自己写了些什么,有些人还比较懒,像我,连个注释都不写,但是我从来没有被我的程序搞晕过,一般来说,不管你的程序是不是面向对像的开发模式,在局部的程序代码里,你的程序还是结构式的,如果你没有把一个模块分成几个小模块去做,而是几百行甚至上千行的代码全在一个模块里,那么一但出了问题,你恐怕哭都来不及,你不得不整天整天的找bug,就算你的程序运行上没有问题,而在设计上却有漏洞

介绍两种调试程序的方法

程序 大家在调试一个程序时,有时候可能这个程序很长,多到成百上千行的代码,如果你的程序写的又零乱不堪,到了这种时候通常都不知道自己写了些什么,有些人还比较懒,像我,连个注释都不写,但是我从来没有被我的程序搞晕过,一般来说,不管你的程序是不是面向对像的开发模式,在局部的程序代码里,你的程序还是结构式的,如果你没有把一个模块分成几个小模块去做,而是几百行甚至上千行的代码全在一个模块里,那么一但出了问题,你恐怕哭都来不及,你不得不整天整天的找bug,就算你的程序运行上没有问题,而在设计上却有漏洞什么的