• 一步一步搭建 .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 类中添加如下配置:

     1   public void ConfigureServices(IServiceCollection services)
     2         {
     3             services.Configure<IISServerOptions>(options =>
     4             {
     5                 options.AutomaticAuthentication = false;
     6             });
     7 
     8             services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
     9             //注册Swagger生成器,定义一个和多个Swagger 文档
    10             services.AddSwaggerGen(c =>
    11             {
    12                 c.SwaggerDoc("v1", new Info
    13                 {
    14                     Title = "DemoNetCore接口文档",
    15                     Version = "v1",
    16                     Description = "这里是框架说明文档",
    17                     TermsOfService = "None",
    18                     Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "DemoNetCore", Email = "xxxx@qq.com", Url = "http://www.xxx.com" }
    19 
    20                 });
    21             });
    22 
    23             services.AddSingleton<IQuestionsService, QuestionsService>();
    24 
    25         }
     1    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
     2         {
     3             if (env.IsDevelopment())
     4             {
     5                 app.UseDeveloperExceptionPage();
     6             }
     7             else
     8             {
     9                 // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    10                 app.UseHsts();
    11             }
    12 
    13             app.UseHttpsRedirection();
    14             app.UseMvc();
    15 
    16             //注入Swagger 服务
    17             //启用中间件服务生成Swagger作为JSON终结点
    18             app.UseSwagger();
    19             //启用中间件服务对swagger-ui,指定Swagger JSON终结点
    20             app.UseSwaggerUI(c =>
    21             {
    22                 c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    23             });
    24         }

    到此,Swagger 配置完成;

    3.部署到IIS

    Api 项目右键发布,点击配置,进入二级界面,

    我们可以设置发布输出的文件夹,不用他默认文件夹,并且配置为Debug模式(方便我们进行开发附加进程调试,但是后期正式上线的时候,要记得改为Release 模式),保存即可;

    接下来,我们就在 IIS 中正常的添加网站就行了,但是记得,跟 dotnet Framework 不一样,我们要把网站的物理路径指向我们刚刚发布的路径。 然后打开我们之前的Swagger 文档验证发布是否成功,localhost:8022/swagger/index.html

     

  • 相关阅读:
    如何把python最小化安装在客户机上面
    c++的历史-异常
    插件系统的构建
    ora-01445:无法从不带保留关键字的表的连接视图中选择ROWID或采样
    转--Oracle 审计和测试操作
    foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
    C语言中 *.c和*.h文件的区别!
    解决方法:loadrunner 场景下执行webservice脚本是---报错10492 Error: Exception was raised when calling per-process-init function in extens
    NoSQL之Redis高级实用命令详解--安全和主从复制
    Expect安装方法
  • 原文地址:https://www.cnblogs.com/wangyuliang/p/11013374.html
Copyright © 2020-2023  润新知