《LINUX教学:ASP.NET Core Web API 最小化项目》要点:
本文介绍了LINUX教学:ASP.NET Core Web API 最小化项目,希望对您有用。如果有疑问,可以联系我们。
ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创立Web API项目.
有时,只需要创建一个API,不需要关心Razor,当地化或XML序列化.通过删除无用的NuGet软件包和代码,可以提高 API 的加载时间并减少部署包大小.
新建项目
打开VS2017 新建一个ASP.NET Core 应用法式 (.NET Core)项目,命名为miniwebapi.确定后选择Web API 模板,并将“身份验证”设置为“不进行身份验证”.
然后确定就创立好了项目,默认项目的csproj 文件内容如下:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> </ItemGroup> <ItemGroup> <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" /> </ItemGroup> </Project>
删除NuGet包
首先删除失落 Microsoft.AspNetCore.Mvc.
实在 Microsoft.VisualStudio.Web.CodeGeneration.Tools 及也可以删除 Microsoft.ApplicationInsights.AspNetCore .
接着添加
Microsoft.AspNetCore.Mvc.Core
Microsoft.AspNetCore.Mvc.Formatters.Json
最终miniwebapi.csproj文件如下:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="1.1.3" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="1.1.3" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> </ItemGroup> </Project>
其实Microsoft.Extensions.Logging.Debug 如果不需要也可以删除,这里做了一个保存.
配置服务
对于移除了Microsoft.ApplicationInsights.AspNetCore 的,必要在Program.cs 中去掉.UseApplicationInsights()
接着打开Startup.cs 文件,在ConfigureServices 办法中去掉 services.AddMvc();
然后改成如下:
services.AddMvcCore().AddJsonFormatters();
接着打开默认的ValuesController.cs 变动成如下:
重点是去掉默认的承继 Controller.
假如你有其他的需求如跨域,数据验证,可以再添加对应的NuGet包.
Microsoft.AspNetCore.Mvc.Cors 跨域 对应的在services.AddMvcCore().AddJsonFormatters().AddCors();
Microsoft.AspNetCore.Mvc.DataAnnotations 数据验证属性.AddDataAnnotations();
测试
运行程序,使用调试功能,VS2017 会自动打开浏览器并拜访对应的api/values,显示如下:
表示接口能够成功拜访.
这样你可以只使用所需的功效,从而减少加载时间.ASP.NET Core 可以让你灵活的使用想要使用的.
本文永远更新链接地址:
更多LINUX教程,尽在编程之家PHP学院专栏。欢迎交流《LINUX教学:ASP.NET Core Web API 最小化项目》!