目录索引:《ASP.NET MVC 5 高级编程》学习笔记

本篇内容:
  1. ASP.NET MVC 5的软件需求
  2. 安装ASP.NET MVC 5
    1)安装MVC 5开发组件
    2)服务器安装
  3. 创建ASP.NET MVC 5应用程序
  4. New ASP.NET Project对话框
    1)选择一种应用程序模板
    2)测试
    3)配置身份验证
    4)配置Windows Azure资源

  学习MVC 5工作原理最好的方法就是开始构建一个应用程序,下面就采用这种方法。

一、ASP.NET MVC 5的软件需求

  MVC5需要.NET 4.5。因此,它可以运行在下面这些Windows客户端操作系统上:
  1. Windows Vista SP2+
  2. Windows 7
  3. Windows 8+
  4. Windows 10

  也可以运行在下面的服务器操作系统上:
  1. Windows Server 2008 R2
  2. Windows Server 2012+

二、安装ASP.NET MVC 5

  确定满足基本的软件需求之后,就可以在开发计算机和生产环境计算机上安装ASP.NET MVC5了。
  安装过程并不复杂。

MVC5和以前版本的MVC程序相互兼容:
  MVC5与以前的MVC版本并行安装,所以安装后可以理解开始使用MVC5。
  另外,仍然可以创建和更新运行以前版本的应用程序。

  1. 安装MVC5开发组件
  ASP.NET MVC5的考法工具支持Visual Studio 2012+,包括2012+的Express的版本。
  Visual Studio 2013+中包含MVC5,所以不需要单独安装。

  如果使用的是Visual Studio 2012,则可以使用这个安装程序来安装MVC5,网址是:http://www.microsoft.com/zh-cn/download/41532
  建议去官网瞅瞅,因为有相关介绍和版本兼容的说明等等。
  当然,如果官网打不开或下载失败,可以留言,我都下好了,不行的话我转给你。

  在这里,我使用的是Visual Studio 2013,因为自带了MVC5,所以我就不用安装这个了。

  2. 服务器安装
  MVC5是完全bin部署的,这意味着所有必要的程序集都包含在应用程序的bin目录下了,只要服务器上有.NET 4.5就可以进行安装部署了。

三、创建ASP.NET MVC 5应用程序

  使用Visual Studio 2013或Visual Studio 2013 Express for Web 2013可以创建MVC5应用程序。
  这两个IDE的使用方法时非常相似的,不过由于咱们主要是学习ASP.NET MVC相关的东西,所以涉及显著差异的地方,到时候再说。

  创建一个新的MVC项目的步骤如下:

  1. 选择“文件 - 新建 - 项目”选项,如图所示:

  

  2. 在“新建项目”的对话框中,左侧依次选择“已安装 - 模板 - Visual C# - Web”模板列表,上面的.NET版本选择“.NET Framework 4.5”;
  在模板列表中找到“ASP.NET Web 应用程序”并选择,将应用程序命名为“MvcMusicStore”,然后选择一个合适的存储位置,最后单击确定即可。
  如图所示:

  

One ASP.NET 项目模板:
  注意,这里没有MVC项目类型,只有“ASP.NET Web 应用程序”。
  以前版本的Visual Studio把ASP.NET和MVC使用不同的项目类型,但是在Visual Studio 2013中,它们被合并成一个公共的项目类型。
  关于这一点,在上一篇中MVC5的版本概述中,有关于“One ASP.NET”的相关说明。

四、New ASP.NET Project对话框

  创建一个新的ASP.NET MVC5应用程序后,将会出现“新建 ASP.NET 项目”的对话框。
  如图所示:

  

  这里列出了所有ASP.NET引用程序工友的一些选项:
  1)选择模板
  2)添加框架特定的文件夹和核心引用
  3)添加单元测试
  4)配置身份验证
  5)Windows Azure(Visual Studio 2013.2及更新版本)

  前两个选项“选择模板”和“为以下对象添加文件夹和核心引用”共同起作用,需要都设置的。
  模板选择了一个起点,然后使用框架复选框来添加对Web Forms、MVC和Web API的支持。
  这意味着,我们可以选择一个MVC模板,然后添加Web Forms支持,或者可以选择空模板,添加对任意框架的支持。
  这种功能不止在创建新项目时可以使用,任何时候都可以添加对任意框架的支持。因为框架文件夹和核心引用是通过NuGet包添加的。
  回忆一下上篇中的“One ASP.NET”说到的:模板和核心引用的选择是可选的,而不是艰难的二选一。它们能够帮助我们起步,但是不会限制我们。

  1. 选择一种应用程序模板
  既然可以在任何项目上使用“对以下对象添加文件夹和引用”选项,那么使用Empty模板不就够了么?为什么还需要其他模板?
  这是因为,其他模板会在一开始为“主要采用MVC”、“主要采用Web API”和“主要采用Web Forms”的应用程序做一些常用的设置(稍后介绍),从而为我们创建项目的起步提供一些方便。
  稍后会介绍这些模板,不过要记住,他们只是Visual Studio 2013为了方便我们而提供的,并不是必须使用它们。
  我们也可以使用一个Empty模板开始创建应用程序,然后需要的话再通过添加NuGet包的方式来加入对MVC的支持。
  1)MVC:首先介绍这个最常用的模板。MVC模板设置一个标准的、带几个视图的HomeController,配置站点布局,并包含一个MVC特定的“Project_Readme.html”页面。后面咱们会好好研究这个模板;
  2)Empty:可以想象,空模板会建立一个空的项目模骨架。得到的文件包括一个web.confgi(包含一些默认的网站配置设置)和创建项目所需要的几个程序集,但是仅此而已。这个模板不会提供任何代码,不包含Javascript或CSS脚本,甚至不会提供一个上面MVC模板中说到的那个静态的HTML文件;
  3)Web Forms:Web Forms模板为ASP.NET Web Forms开发打下基础;
  4)Web API:使用这个模板创建的应用程序同时支持MVC和Web API。包含MVC支持,部分是为了显示API Help页面,它们记录了公有API签名。现在用不到这玩意儿,最后的时候咱们再详细说;
  5)Single Page Application:这个模板的应用程序主要通过Javascript请求Web API服务驱动,而不是采用传统的Web页面请求/响应周期。最初的HTML由一个MVC Home Controller提供,其余的服务器端交互则由一个Web API控制器处理。这个模板使用Knockout.js库来帮助管理浏览器中的文本。后面有机会再说这个单页模板,因为其重点其实是Angula.js,而不是Knockout.js;
  6)Azure Mobile Service:安装Visual Studio 2013 Update 2(也叫做2013.2)之后,会看到这个额外的选项。因为Azure Mobile Service现在支持Web API服务,所以使用这个模板能够比较容易地创建针对Azure Mobile Service的Web API。在这里可以了解关于这个模板的详细信息:https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/dn629482.aspx

  2. 测试
  所有的内置项目模板都有一个选项,用来使用样本单元测试创建单元测试项目。

推荐:选中“添加单元测试”复选框
  在这里建议大家养成在创建项目的时候选中“添加单元测试”的复选框。当然我也不是宣传打广告,毕竟Visual Studio这玩意儿也不是我的。。。
  单元测试会贯穿如平时咱们写项目的时候,后面会介绍和使用单元测试和测试模式,到时候咱们可以在不设置任何东西的情况下编写一个测试代码。
  不过。。。当然,有的朋友性子就是倔、所以这里也不会强制您非得接受这个东西。。

  3. 配置身份验证
  单击“更改身份验证”按钮,可以打开如图所示的“更改身份验证”的对话框,在这里可以选择身份验证的方法。

  

  在这个对话框里一共列出了4个选项:
  1)无身份验证:用于不需要身份验证的应用程序,例如没有管理单元的公共网站等;
  2)个人用户账户:用于在本地存储用户配置文件(例如在SQL Server数据库中存储)的应用程序。支持用户名/密码账号,以及社交认证提供程序等;
  3)组织账户:用于通过牟总形式的活动目录(如Azure Active Directory和Office 365)进行身份验证的账户等;
  4)Windows 身份验证:用于内部网络的应用程序。

  这里我们大部分用的都是默认的“个人用户账户”,后面会介绍其它选项。
  当然,您也可以点击右侧的“了解更多”链接进入官网查看相关的说明文档。

  4. 配置Windows Azure资源
  Visual Studio 2013.2添加了额外的“在云中托管”选项,用来为项目配置Azure资源。
  关于详细的更多信息,Google官网看详细介绍即可。

  在这里,我们使用的是本地服务器,所以检查一下不要选中这个勾了。
  再次确保“新建ASP.NET Web项目”的对话框和下图5一直,然后点击确定即可完成项目的创建:

  

  这样,就创建了一个解决方案,其中包含两个项目:一个是Web应用程序,一个是单元测试程序,如图所示:

  

  新MVC项目再应用程序的额根目录下包含“Project_Readme.html”文件。
  创建项目的时候将自动显示这个文件,如图所示:

  

  这是一个完全自包含的文件 —— 所有的样式都通过HTTP样式标签包含进来,所以使用完该文件后可以删除它。
  Project_Readme.html文件针对每个应用程序模板定制,并包含大量有用的链接,它们有助于我们了解相关信息。

03 入门 - 安装MVC 5和创建应用程序的更多相关文章

  1. ASP.NET+MVC入门踩坑笔记 (一) 创建项目 项目配置运行 以及简单的Api搭建

    哈喽各位 我又回来了! 前段时间研究了下ASP.NET,刚开始也是随便找网上的各种教程来看,但是鉴于本人技术有限,还是走了相当长的一段弯路的.所以我写下了这篇文章.希望各位刚刚入坑的ASP.NET开发 ...

  2. 【初学者指南】在ASP.NET MVC 5中创建GridView

    介绍 在这篇文章中,我们将会学习如何在 ASP.NET MVC 中创建一个 gridview,就像 ASP.NET Web 表单中的 gridview 一样.服务器端和客户端有许多可用的第三方库,这些 ...

  3. 如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管

    微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我就演示一下一下几个内容 1,怎么在Asp.net mvc 6 中创建简单 ...

  4. JBPM4入门——6.流程实例的创建和执行

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  5. Mvc 6 中创建 Web Api

    如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管 微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我 ...

  6. Angular JS从入门基础 mvc三层架构 常用指令

    Angular JS从入门基础  mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...

  7. [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序

    [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序   一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...

  8. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  9. react入门安装

    react的入门安装 1.react的适用方法有两种,其一是依赖在线的cdn地址: https://reactjs.org/docs/cdn-links.html 官方给的cdn地址如下 <sc ...

随机推荐

  1. 安卓开发笔记(三十):自定义Button

    在笔者本人看了很多博客和书之后,发现很少博主对于自定义控件能够进行一个比较全面的思路讲解,大多数都是只讲了一些细节,但并没有讲如何把代码进行整体的实现.因此这里讲讲整体的自定义button实现的详细过 ...

  2. img 灰色默认外边框的去除

    最近在做一个小游戏时发现了一个问题,总是在弹出img时先出现一个灰色的边框,所以为了查找问题,查找了一些关于img 默认边框的小知识点. 在这里整理了一些知识点: 一. 下面代码都试验过后会发现,im ...

  3. PHP全栈学习笔记12

    php简介,php历史,php后端工程师职业前景,php技术方向,php后端工程师职业体系介绍. php是世界上使用最广泛的web开发语言,是超文本预处理器,是一种通用的开源脚本语言,语法吸收了c语言 ...

  4. SpringBoot进阶教程(二十五)整合Redis之@Cacheable、@CachePut、@CacheEvict的应用

    在上一篇文章(<SpringBoot(二十四)整合Redis>)中,已经实现了Spring Boot对Redis的整合,既然已经讲到Cache了,今天就介绍介绍缓存注解.各家互联网产品现在 ...

  5. 004. 前端跨域资源请求: JSONP/CORS/反向代理

    1.什么是跨域资源请求? https://www.cnblogs.com/niuli1987/p/10252214.html 同源: 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有 ...

  6. 基于flexbox纯css框架的解析

    学CSS很好的一个方法大概是先用纯CSS来实现一个自己的框架,然后便可以在之后的使用中对一开始可能很粗糙的框架做细致的优化与改进,删除些冗余,添加些功能之类的. 当然,为了避免一开始写框架时候的时候手 ...

  7. windows手动去重 通配符

    在下载文件时,如果遇到重复文件,windows的默认做法时 文件名(数字) 这样的方式重命名的. 那么我们在排除重复文件时,可以使用  windows文件浏览器提供的查找功能,  用通配符   ~=& ...

  8. 微信小程序开发笔记

    前言: 因为前段时间一直在做关于微信小程序方面的项目,作为一名后端的攻城狮而言做一些简单的前端页面数据操作和管理还是比较容易快上手的,当然前提是要理解微信小程序的基本语法和请求原理.该篇博客主要记录的 ...

  9. java面试基础(一)

    1.基本数据类型.封装类和运算操作(1)简述 & 和 && ,以及 | 和 || 的区别.———&和|是位运算符也是逻辑运算符,作为逻辑运算符时左右两边都会进行判断(不 ...

  10. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之八 || API项目整体搭建 6.3 异步泛型仓储+依赖注入初探

    代码已上传Github+Gitee,文末有地址 番外:在上文中,也是遇到了大家见仁见智的评论和反对,嗯~说实话,积极性稍微受到了一丢丢的打击,不过还好,还是有很多很多很多人的赞同的,所以会一直坚持下去 ...