ASP.NET5 Web默认的项目结构浅析(学习笔记)

1.说明

通常一些错误的知识见解发表出来,有可能误导部分读者, 势必造成一定程度伤害。

说实话,试问那个人没有被别人坑过?理解万岁吧!所以本人的博文,如有误人子弟的地方,还望大侠们扶正!

如题,本章的知识点介绍只能算浅析了。理解得对不对?不好说。同样算是我的学习笔记就够了。

ASP.NET5 beta7已经发布一个多月了,预计近几天内该发布beta8了。

按照官方产品路线图公布来说,beta8该是所有功能开发大体上盖棺定论(不会大变动了)了。

然后再到RC版,就可用于生产环境中了,这是正式版前,最后一个版本了。

正式版刚好到年底或年初了,算是微软给粉丝们大大的新年红包啦。请耐心期待哦。

哎!读者要无语啦!其实这废话无非是要勾起大家“赶脚”学的欲望! 不扯了。

2.创建项目

新建项目:

选择项目模板:

生成的项目结构:

3.项目结构概述

global.json

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-beta7"
  }
}

它是整体解决方案配置,包含projects和sdk两个部分。

projects:指定哪些文件夹包含源代码的解决方案。默认情况下项目结构源将这些文件放置在 src 文件夹中,允许生成工件放置在同级文件夹,使它更容易从源代码管理中排除这样的事情。

sdk:指定 DNX (.Net 执行环境)版本。使用 VS打开解决方案时,它是设置在这里,而不是在 project.json,以避免在解决方案中的不同项目针对不同版本的 SDK 的场景。

NuGet.Comfig

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />
    <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

配置刚好和VS设置(“程序包管理器设置”)一致:

是不是没有必要这个配置文件?可假如你想从别处找下载安装源,通过配置就很方便啦。

当你使用dnvm程序包管理工具,也会默认从nuget.org下载,也可以通过这个配置文件改变。

微软是考虑方便性,才有了这个配置文件。没有它,就使用工具里的默认了。

wwwroot

在以前版本的 ASP.NET 中,项目的根通常是网站的根。

比如在早期版本的项目根放置 1.aspx 文件,它的请求就是web 应用程序的根。

在现在版本中,支持路由(Cotroller/Action),使它能够解耦从其对应的 Url文件的位置。

这种路由只用于特定于 ASP.NET 的应用程序逻辑,不是静态的文件需要由客户端到正确呈现所生成的页面。

资源,如图像、 脚本文件和样式表一般都仍在加载基于他们的应用程序,基于项目的根目录文件结构中的位置。

它实际是 web 应用程序发布后的根在 web 服务器上运行。

之外的文件(不放在wwwroot目录里的静态文件),如project.json,外部访问不到的。

除了安全好处,wwwroot 文件夹还简化了常见任务,如捆绑和缩小,以及自动化使用工具,规划好目录。

bower和npm

前端开发工具包。它的配置安装及使用在bower.json,package.json和gulpfile.js。

grunt和gulp功能类似,你可以使用:

右键gulpfile.js文件,打开任务:

关于这方面的知识(特别是js代码)太多,还是另开一篇文章,再介绍了。

Controller,Models,Views

对应mvc三大块了,没什么好说啦。

ViewModels

界面展示的视图模型或对Models模型组合,再定义等

Services

这个就高大上了。在老外的书中,叫什么服务模式。通常分解Controller代码,使得控制器代码少。

再深入点说,就扯到分层架构上……打住,算了。

注:通常有了服务(层)模式,再配合持久化层中的仓储(Repositories)模式。

Migrations

EF迁移后的文件夹

hosting.ini

配置project.json中的commands:

project.json

主要dependencies,commands,frameworks配置,很重要哦

Startup.cs

这个也关键了,了解它之后,才能对ASP.NET5有所认知了。

4.小结

由于一会有事,无心思考!下一篇再重点说project.json和Startup.cs(分析代码)。

仓促结束,遗憾!

时间: 2024-10-14 00:59:44

ASP.NET5 Web默认的项目结构浅析(学习笔记)的相关文章

ASP.NET web 应用程序项目

ASP.NET web  应用程序项目 .ashx .ashx.cs aspx包括前台一些代码要处理,ashx可以看作是没有aspx页面中前台代码的后台.cs文件. 没有了前台代码,服务器负担少一点,响应速度相比aspx下就快一些 ashx简洁一点,ashx执行要早于aspx,没有前台页面,减少了控件树的生成 ashx 文件叫“一般处理文件”,这种文件是不带前台界面的,不会生成也不会自带任何的html前台代码,只做一般接收数据处理数据或者返回纯字符串(比如json字串),所以这种文件只会有一个.

Android开源项目SlidingMenu本学习笔记(两)

我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGVuZzB6aGFvdGFp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 点击Bluetooth能够切换到对应的

Android开源项目SlidingMenu的学习笔记(二)

在前面已经介绍了SlidingMenu的用法:Android开源项目SlidingMenu的学习笔记(一),接下来再深入学习下,根据滑出项的Menu切换到对应的页面 目录结构: 点击Bluetooth可以切换到相应的界面 关键代码 MainActivity.java package com.dzt.slidingmenudemo; import android.app.Fragment; import android.app.FragmentManager; import android.app

结构体学习笔记

以下记载了在初学结构体时犯下的一些错误. 先来一些杂识 struct f { string name; }; struct students { int num; string name; students *next; students friends; // f fri; }; void main() { students boy[40]; students polyy,*li = &polyy; polyy.num; polyy.name; polyy.friends.name; poly

VS2015 ASP.NET5 Web项目结构浅析

前言 本文个人同步博客地址http://aehyok.com/Blog/Detail/76.html 在安装好VS2015之后,一直想看看新版本的Web项目如何,上个周建了项目之后发现真是面目全非,微软这次更新真是太凶了.于是我就有了想简单的了解一下新建的项目结构的冲动,真是一发不可收啊,自己只是想研究个皮毛,这前前后后大概花掉了一周的时间(当然都是业余的)才大致搞明白了一点吧.在此就进行记录一下.首先来创建一个Web项目 1.打开VS2015新建ASP.NET Web应用程序 2.选择ASP.

了解ASP.NET5 Web应用程序结构

本文参考ASP.NET5 官方文档 Understanding ASP.NET 5 Web Apps,加入了一些个人理解,理解不对的地方希望大家能指出,互相学习. ASP.NET 5 针对WEB编程引入了几个新的基本概念,理解这些概念对快速开发WEB应用来说很重要.或许这些这些概念对你来说不是新的,但是对那些使用ASP.NET 和 Visual Studio 进行传统的WEB应用开发的程序员来说,这些概念可能是新的. 本文主要内容包括: ASP.NET 项目结构 Framework 运行时 pr

VS2015 ASP.NET5 Web项目结构分析

前言 1.打开VS2015新建ASP.NET Web应用程序 2.选择ASP.NET 5 Starter Web 3.新建项目后可以发现项目结构如下 可以发现项目结构可以分为1到6六个部分.接下来我就来简单的描述一下我对这6个部分的理解. 1.global.json 1.global.json 文件存放在“Solution Items”解决方案目录下,打开 global.json文件发现,默认有这样的配置: 下面我们来验证一下这个sources的作用.先来做一件事情,下载Asp.Net MVC源

Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]

前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学习阅读英文文章的目的,又可以学习下微软新发布的技术,其实也很久了,但自己菜鸟一枚,对自己来说都是新技术了.鉴于以上两个原因,本人打算借助google翻译和有道词典,来翻译学习这个系列,并通过博客园来记录自己的翻译学习过程.由于自己阅读水平的确太菜,在借助工具的情况下,有时候搞出来的也是蹩脚的语句,自己读着都难受,尤其是到了Web API路由的那两篇,所以自己想着是不是有别人

web前端之网站seo优化学习笔记

这两天因为一些公司业务上的原因,学习了一些关于网站seo优化的方法和技巧. 之前在码代码的过程中其实还没有考虑过对于网站导流和优化网站关键字搜索排名的问题. 在了解了一些这方面的资料之后,觉得这是一个很有意思的领域.把这几天的学习笔记记下来. 个人理解是在一个项目基本上完成主要需求后需要运营需求加入的时候,此时seo优化就非常重要.所以在网站开发的最开始有经验的前端coder们在搭架子的时候就应该提前把以后运营汪们可能会提出的运营需求,特别是一些针对影响关键字排名和与搜索引擎相关的部分就可以考虑