所以你们都听到了#Build 2017的消息,Mac上的Visual Studio已经被完全发布,是一般的。为了庆祝这个版本,我将在我的Mac上写几篇关于构建一些不同的.net应用的帖子。

正如你已经期望的标题,本文将在ASP.NET核心我将使它简短而简单。

我将建立的虚拟应用程序将在电影上。以下是创建新项目并选择ASP.NET Core Empty时的外观。

在选择名称并创建项目之后,Visual Studio只是为您提供了一个简单的网络项目,其中一些nugets正在恢复,在第一次运行时,正如预期的那样,您将在默认浏览器中获得一个旧的漂亮Hello World。

现在让我们探索模板,并了解我们可以免费获得这个Empty模板并开始构建我们的应用程序。

如上图所示,我们为我们生成了两个文件Program.cs和Startup.cs以及Movies.csproj本身,其中包含相关信息,以告诉Visual Studio该应用程序的功能。

现在来看看Program.cs文件 

这个文件实际上有一个Main方法,我们在Web项目中没有看到一段时间,ASP.NET Core应用程序需要一个主机来运行。该主机实现IWebHost接口,暴露了启动主机所需的功能和服务。

上面的行首先创建了WebHostBuilder的一个实例,一个构建和配置主机的类帮助器,首先配置说明是UseKestrel实际上告诉主机使用Kestrel服务器,下一个配置UseContentRoot是告诉主机应该在哪里找到内容您可以看到文件以当前目录作为参数。UseIISIntegration,另一方面加入支持IIS / IIS快速集成和用来指定一个反向代理由红隼进行内部服务器。UseStartup告诉主机如何配置中间件和服务,并且您可以看到这是两个文件之间的链接,它告诉主机在另一个文件中使用启动类的实例。最后,它构建此主机并返回为此角色配置的实例。

下一行host.Run()  是实际运行Web应用程序并阻止调用线程的主机,直到主机关闭。还有一个替代的非阻塞方法host.Start()。

下一个文件Startup.cs是将要使用的实际ASP.NET配置,我们将在随后的帖子和主题中重新访问此文件。

在这个文件中没有什么可以描述的,它很简单(到目前为止)。其中一个方法被声明为添加服务。另一个用于初始配置。

正如你可以看到依赖注入是内置在.NET Core和本机支持的,如果你注意到using语句,你将Microsoft.Extensions.DependencyInjection来处理它。因此,所有的参数值将设在幕后运行时绑定,所有你需要做的就是要求实现的目标IApplicationBuilder,或IHostingEnvironment甚至是ILoggerFactory,你会得到你用一个具体的实施; 当我们探索更多并深入ASP.NET Core时,还有更多的这些来到这里。

该方法中的第一行添加了一个控制台记录器,如果使用Kestrel运行Windows,则您将始终获得一个“命令”窗口,您可以在网页上执行某些操作时查看日志跟踪。在Mac上使用Visual Studio时,这个记录器将被嵌入应用程序输出窗口中。

一个关于ASP.NET Core的intersting的事情,它只是一个核心任何服务,你需要添加或配置,你必须要求它!即使是旧的异常页面(黄色屏幕死亡),现在是一个可爱的淡蓝色屏幕的死亡告诉你什么发生错误,也不是我们只告诉应用程序生成器添加这个DeveloperExceptionPage只在Developement环境中,这是一个很好的实践中,因为您不想在生产中暴露内部代码异常,您可能希望构建自定义的500错误页面。添加此开发人员异常页面实际上是在管道中添加了一个“中间件”,这是一个很快会谈到的主题。

最后一行是管道命令的终止中间件,它侦听来自此服务器的请求。它需要一个委托(处理程序)参数,并且您可以看到这是我们获得“Hello World”的地方,我们只需将纯文本写入当前上下文的Repsonse。

这是所有的这个帖子,非常基本的没有代码实际上是写的,但我相信这个帖子是一个插入ASP.NET核心和初学者即将发布的帖子。

Visual Studio for Mac中的ASP.NET Core的更多相关文章

  1. 在Visual Studio for Mac中使用fastlane管理iOS的provision

    Xamarin开发中,最烦的就是provision的管理了. 全手工的话,要先创建一个key,上传后生成cert文件,再创建provision.如果在手机上调试,还要把手机加到provision中去. ...

  2. 在 Visual Studio for Mac 中编译和生成

    使用Visual Studio将C#生成DLL文件的方法 https://www.cnblogs.com/AaronBlogs/p/6840283.html Visual Studio 开发 - Vi ...

  3. Visual Studio Code和Docker开发asp.net core和mysql应用

    Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...

  4. Visual Studio 2015 RC中的ASP.NET新特性和问题修正

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") 微软在Build大会上发布了Visual Studio 2015 RC,这也预示着Visual Studio 201 ...

  5. docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

    .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...

  6. 使用Visual Studio Code创建第一个ASP.NET Core应用程序

    全文翻译自:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 这篇文章将向你展示如何在Mac上写出你的第一个A ...

  7. 【翻译】使用Visual Studio在Azure上部署Asp.Net Core Web应用

    配置运行环境 Install the latest Azure SDK for Visual Studio. The SDK installs Visual Studio if you don't a ...

  8. 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  9. 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

随机推荐

  1. linux使用.net core 创建简单的MVC

    1 创建MVC 2.修改默认绑定的端口方法 ,在Program.cs 的Build之前加入 .UseUrls("http://*:8888")

  2. 对Android系统权限的认识

    Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制 Android系统权限相关的内容 (一)linux文件系统上的权限 -rwxr-x--x ...

  3. 自定义实现moveable button

    实现的效果图: 自定义MVButton,继承自UIButton. 属性声明如下: @property (nonatomic) CGPoint beginPoint; @property (nonato ...

  4. MangoDB高级应用

    MongoDB高级应用 Author:SimpleWu 聚合 聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). ...

  5. ThinkPHP+JQuery实现文件的异步上传

    前端代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  6. 第十二届湖南省赛 A - 2016 ( 数学,同余转换)

    给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量:       1. 1≤a≤n,1≤b≤m;   2. a×b 是 2016 的倍数.   Input   输入包含不超过 30 ...

  7. Vue2 实现树形菜单(多级菜单)功能模块

    结构示意图 ├── index.html ├── main.js ├── router │ └── index.js # 路由配置文件 ├── components # 组件目录 │ ├── App. ...

  8. P124黎曼可积性刻画 的两个备注

    1.这里为什么是开集?   2.请问为什么说了是开集马上就说是有界可测函数? 开集为可测集

  9. Oracle和Elasticsearch数据同步

    Python编写Oracle和Elasticsearch数据同步脚本 标签: elasticsearchoraclecx_Oraclepython数据同步    Python知识库 一.版本 Pyth ...

  10. 软件工程(FZU2015) 赛季得分榜,第七回合

    SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分: 团队项目分=团队得分+个人贡献分 个人贡献分: 个人 ...