NET Core & VS Code 之路(2) Web API
NET Core & VS Code 之路(2) Web API
开发Core项目的条件
看到VS包的体积,以及不想往下走了.
幸亏,ms出了VS Code,可开发.NET Core项目.实际上记事本也能写Core代码,但是开发是需要调试的.
所以本系列将持续用VS Code开发.以代码为主,关键点会加以注释
由于公司事比较多,一直没来得及更新

目录
Web API
- dotnet new 添加Core项目
- project.json添加依赖
"Microsoft.AspNetCore.Server.Kestrel"
"Microsoft.AspNetCore.Mvc"
- 添加Startup.cs
- 添加ValuesController.cs
- 修改Program.cs
project.json 添加的依赖
|
1
2
3
4
|
"dependencies": { "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", //webhost "Microsoft.AspNetCore.Mvc": "1.0.0" //webapi mvc} |
添加的Startup.cs
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
using Microsoft.AspNetCore.Builder;using Microsoft.Extensions.DependencyInjection;public class Startup{ public void Configure(IApplicationBuilder app) { app.UseMvc();//使用MVC管道 } public void ConfigureServices(IServiceCollection services) { services.AddMvc();//MVC加入到DI容器中 }} |
添加的ValuesController.cs
|
1
2
3
4
5
6
7
8
9
10
11
|
using Microsoft.AspNetCore.Mvc;public class ValuesController{ [HttpGet("/values/{name}")]//name参数注入 public string Index(string name) { return "Hello World:" + name; }} |
修改的Program.cs
|
1
2
3
4
5
6
7
8
9
|
public static void Main(string[] args){ new WebHostBuilder() .UseKestrel() .UseStartup<Startup>() .UseUrls("http://localhost:8899", "http://localhost:9988/")//同时监听2个端口 .Build() .Run();} |
MVC
在.NET Core中,MVC和Web API实际上走的同一个管道
本例子会在上面的Web API基础上修改
- 添加和修改project.json
- Microsoft.AspNetCore.Razor.Tools
- 添加HomeController
- 添加Index.cshtml
- 修改Program.cs
MVC中因为有razor动态编译,所以不仅仅添加1个依赖即可
project.json修改的内容
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
"buildOptions": { "debugType": "portable", "emitEntryPoint": true, "preserveCompilationContext": true //动态编译},"dependencies": { "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", //webhost "Microsoft.AspNetCore.Mvc": "1.0.0", //webapi mvc "Microsoft.AspNetCore.Razor.Tools": { //mvc razor "version": "1.0.0-preview2-final", "type": "build" }}, |
添加的HomeController.cs
注意:需要继承Controller类
|
1
2
3
4
5
6
7
8
9
10
11
|
using Microsoft.AspNetCore.Mvc;public class HomeController : Controller{ [HttpGet("/{name}")] public IActionResult Index(string name) { ViewBag.Name = "Hello " + name; return View(); }} |
添加Index.cshtml
目录结构和之前方式(ASP.NET MVC)一样

|
1
2
3
4
5
6
7
8
9
10
|
<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h1>@ViewBag.Name</h1></body></html> |
修改Program.cs
|
1
2
3
4
5
6
7
8
9
10
|
public static void Main(string[] args){ new WebHostBuilder() .UseKestrel() .UseStartup<Startup>() .UseContentRoot(Directory.GetCurrentDirectory()) //mvc views需要 .UseUrls("http://localhost:8899", "http://localhost:9988/")//同时监听2个端口 .Build() .Run();} |
静态文件
- 添加依赖:project.json
- Microsoft.AspNetCore.StaticFiles
- 注册管道:Startup.cs
- 添加静态文件:wwwroot
project.json
|
1
2
3
4
5
6
7
8
9
|
"dependencies": { //nuget包 "Microsoft.AspNetCore.Mvc": "1.0.0", //webapi mvc "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", //webhost "Microsoft.AspNetCore.Razor.Tools": { //mvc razor "version": "1.0.0-preview2-final", "type": "build" }, "Microsoft.AspNetCore.StaticFiles": "1.0.0"//静态文件}, |
注册管道
|
1
2
3
4
5
|
public void Configure(IApplicationBuilder app){ app.UseStaticFiles();//需要在mvc前 否则将优先被mvc路由匹配执行 app.UseMvc();} |
添加静态文件
静态文件默认是以wwwroot文件夹为根目录

注意:
- 添加依赖后,需要Restore后才能使用该库
- 本节由于篇幅问题,去除了配置文件的大量说明
- 本文地址:http://www.cnblogs.com/neverc/p/5801210.html
NET Core & VS Code 之路(2) Web API的更多相关文章
- [Core] .NET Core & VS Code 之路(2) Web API
开发Core项目的条件 Visual Studio 2015 Update 3 .NET Core 1.0.0 - VS 2015 Tooling Preview 2 看到VS包的体积,以及不想往下走 ...
- [ASP.NET MVC 小牛之路]18 - Web API
Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的 ...
- .Net Core+Angular6 学习 第一部分(创建web api)
. 创建.net core web api 1.1 选择一个empty 模式,里面只有简单的2个class 1.2 配置web api 的路由. 1.2.1 打开Startup.cs,首先引用conf ...
- 【转】asp.net Core 系列【二】—— 使用 ASP.NET Core 和 VS2017 for Windows 创建 Web API
在本教程中,将生成用于管理“待办事项”列表的 Web API. 不会生成 UI. 概述 以下是将创建的 API: API 描述 请求正文 响应正文 GET /api/todo 获取所有待办事项 无 待 ...
- [Core] .NET Core & VS Code 之路(1) Hello World
目录 相关链接 dotnet命令 VS Code Hello World Web Hello World 总结 其实本篇上个月已经写好, 只是 但是,不忘初心方得始终 相关链接 Learn .NET ...
- Asp.Net Core 3.0 学习3、Web Api 文件上传 Ajax请求以及跨域问题
1.创建Api项目 我用的是VS2019 Core3.1 .打开Vs2019 创建Asp.Net Core Web应用程序命名CoreWebApi 创建选择API 在Controller文件夹下面添加 ...
- Asp.Net Core 3.1 学习3、Web Api 中基于JWT的token验证及Swagger使用
1.初始JWT 1.1.JWT原理 JWT(JSON Web Token)是目前最流行的跨域身份验证解决方案,他的优势就在于服务器不用存token便于分布式开发,给APP提供数据用于前后端分离的项目. ...
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)
HTTP is not just for serving up web pages. It's also a powerful platform for building APIs that expo ...
- [转]【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)
本文转自:https://www.cnblogs.com/inday/p/6288707.html HTTP is not just for serving up web pages. It’s al ...
随机推荐
- 快速生成apk 自动发布到网站 便于测试
遇到的问题: 开发者生成的apk 需要不断给 测试安装让他们测试.有没有脚本自动将最新apk上传到服务器,让测试自己安装测试呢?mac电脑 怎么自己搭建文件服务器 启动Tomcat功能在这里不在赘述 ...
- winPcap_5_打开适配器并捕获数据包
知道如何获取适配器的信息了,那我们就开始一项更具意义的工作,打开适配器并捕获数据包.编写一个程序,将每一个通过适配器的数据包打印出来. 打开设备的函数是 pcap_open(). (Open a ge ...
- Types of AOP
There are two distinct types of AOP: static and dynamic. The difference between them is really the p ...
- Back to Basics: Using KVO
One of the things I like most about Apple’s iOS SDK is the consistent and easy-to-use API they provi ...
- windows 编程—— 宽字符集 与 Unicode
目录: 从ASCII码 到 Unicode Windows 编程中的 "字符” 定义 (如何在windows下进行通用编码) 常用的通用函数,定义 (本文为学习<Programming ...
- C++ —— 类模板的分离式编译
目录 对于C++中类模板的分离式编译的认识 具体的实例 1.对于C++中类模板的分离式编译的认识 为什么C++编译器不能支持对模板的分离式编译(博文链接) 主要内容:编译器编译的一般工作原理.对模版的 ...
- X265编译中C2220错误的解决办法
x265编译过程中 C2220错误:根本原因是代码是英文代码页,而我们的操作系统中使用的是中文代码页: 解决办法1 逐个文件进行格式转换,我在ubuntu下用iconv命令试过,没成功: 解决办法2 ...
- UGUI的9个重要回调函数
using UnityEngine; using System.Collections; using UnityEngine.EventSystems; //句柄 public class Butto ...
- [week4]每周总结与工作计划
计算机网络 TAT 小白dp 28号还有一场 背单词 背马克思 python目标80% 熟悉coursera c++模版和 仿函数 人文修养 开学数据库,itercast的sql*2 itercast ...
- Windows API一日一练(55)FlushFileBuffers和SetFilePointer函数
在PC硬件体系结构里,速度最快的存储器是CPU里面的寄存器,接着到二级缓存,再到系统RAM内存,最后才到硬盘.因为这种体系结构,就决定了操作系统对文件的操作方式,或者说是最优化的算法.比方操作系统接收 ...