一步一步搭建 .net core 应用
前言
近段时间 .net core 大火,公司也打算趁此机会把后续项目迁移到 .net core 平台上,我们下面的一帮人也就跟着大部队,开始狂补 dotnetcore 相关的技术了。此贴主要记录我在搭建dotnet core项目过程中采坑点和特别需要注意的点,持续更新。。。
Let's Coding
一、项目环境准备
开发工具:vs2017 ;首先,我在搭建demo的时候,api和web项目都是部署在IIS上的,dotnet core和dotnet framework不太一样,若要部署在iis上,需要额外安装一个运行时-AspnetCoreModule , 下载链接: https://dotnet.microsoft.com/download
到此,在windows上的基本环境就好了,接下来就去愉快的撸码去吧;
二:项目搭建
1.在新建的解决方案上右键,选择.net core ,选择 “Asp.Net Core Web 应用程序” ,填写项目名称,在二级界面选择你要新建的 web 项目类型,我先以 API 作为示例:确定即可。
2.配置 Swagger
为了给接口调用方一个完整的接口文档,页为了不爱写文档的 coder,直接使用“丝袜哥” 插件自动生成接口文档,配置如下:
首先安装在“管理Nuget程序包”中搜索“Swashbuckle.AspNetCore”,安装他。
接着在Startup 类中添加如下配置:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<IISServerOptions>(options =>
{
options.AutomaticAuthentication = false;
}); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
//注册Swagger生成器,定义一个和多个Swagger 文档
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Title = "DemoNetCore接口文档",
Version = "v1",
Description = "这里是框架说明文档",
TermsOfService = "None",
Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "DemoNetCore", Email = "xxxx@qq.com", Url = "http://www.xxx.com" } });
}); services.AddSingleton<IQuestionsService, QuestionsService>(); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
} app.UseHttpsRedirection();
app.UseMvc(); //注入Swagger 服务
//启用中间件服务生成Swagger作为JSON终结点
app.UseSwagger();
//启用中间件服务对swagger-ui,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
}
到此,Swagger 配置完成;
3.部署到IIS
Api 项目右键发布,点击配置,进入二级界面,
我们可以设置发布输出的文件夹,不用他默认文件夹,并且配置为Debug模式(方便我们进行开发附加进程调试,但是后期正式上线的时候,要记得改为Release 模式),保存即可;
接下来,我们就在 IIS 中正常的添加网站就行了,但是记得,跟 dotnet Framework 不一样,我们要把网站的物理路径指向我们刚刚发布的路径。 然后打开我们之前的Swagger 文档验证发布是否成功,localhost:8022/swagger/index.html
最新文章
- visual studio错误解决 [error LNK1104: 无法打开文件“gdi32.lib”]
- C++基础知识之vector
- 教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏
- FM000
- Java编程思想学习笔记_4(异常机制,容器)
- tomcat 内存溢出
- Sqoop增量从MySQL中向hive导入数据
- 如何混合使用ARC和非ARC
- 华为OJ:素数对个数
- 使用JavaScript实现简单的输入校验
- Microsoft Word 的键盘快捷方式
- 温习PYTHON语法
- RunLoop学习总结
- Javascript设计模式系列一
- PHP扩展之多线程
- jquery 实现滚动条下拉时无限加载的简单实例
- Spring3 MVC DispatcherServlet 配置问题
- python 迭代器 生成器
- Laravel 添加路由文件
- [shell]输出内容到剪切板