zoukankan      html  css  js  c++  java
  • Core WebApi项目快速入门(一):环境部署

    1.WebApi新建与部署

    1.1 新建Core WebApi工程

    1.2 部署

    1.2.1 IIS部署

    首先以文件方式发布应用程序,然后下载依赖.net core运行时及host安装包

     在iis中看见AspNetCoreModuleV2证明安装成功。

    1.2.2 直接控制台启动

    由于内置了Kestrl,可以不依赖与任何服务器服务

     看到启动的Hosting的生命周期,证明已成功启动站点。同时根据配置文件默认监听http 5000端口及https 5001端口。

    2. Swagger配置

    2.1 引入依赖库文件

    2.2 添加swagger服务

     public void ConfigureServices(IServiceCollection services)
            {
                services.AddSwaggerGen(s =>
                {
                    s.SwaggerDoc("V1", new OpenApiInfo
                    {
                        Title = "test",
                        Version = "version-01",
                        Description = "我的第一个API"
                    });
                });
                services.AddControllers();
            }
    View Code

    2.3 添加swagger中间件

     app.UseSwagger();
                app.UseSwaggerUI(s =>
                {
                    s.SwaggerEndpoint("/swagger/V1/swagger.json", "test");
                });
    View Code

    3. 日志配置

    3.1 引入log4net及扩展库dll

    3.2 加入log4net.config配置文件

    <?xml version="1.0" encoding="utf-8"?>
    <log4net>
        <!-- Define some output appenders -->
        <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
            <file value="loglog.txt" />
    
            <!--追加日志内容-->
            <appendToFile value="true" />
    
            <!--防止多线程时不能写Log,官方说线程非安全-->
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    
            <!--可以为:Once|Size|Date|Composite-->
            <!--Composite为Size和Date的组合-->
            <rollingStyle value="Composite" />
    
            <!--当备份文件时,为文件名加的后缀-->
            <datePattern value="yyyyMMdd.TXT" />
    
            <!--日志最大个数,都是最新的-->
            <!--rollingStyle节点为Size时,只能有value个日志-->
            <!--rollingStyle节点为Composite时,每天有value个日志-->
            <maxSizeRollBackups value="20" />
    
            <!--可用的单位:KB|MB|GB-->
            <maximumFileSize value="3MB" />
    
            <!--置为true,当前最新日志文件名永远为file节中的名字-->
            <staticLogFileName value="true" />
    
            <!--输出级别在INFO和ERROR之间的日志-->
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="ALL" />
                <param name="LevelMax" value="FATAL" />
            </filter> 
            <!--必须结合起来用,第一个只过滤出WARN,第二个拒绝其它其它日志输出-->
            <!--
            <filter type="log4net.Filter.LevelMatchFilter">
                <param name="LevelToMatch" value="WARN" />
            </filter>
            <filter type="log4net.Filter.DenyAllFilter" />-->
    
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
            </layout>
        </appender> 
        <!-- levels: OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL -->
        <root>
            <priority value="ALL"/>
            <level value="ALL"/>
            <appender-ref ref="rollingAppender" />
        </root>
    </log4net>
    View Code

    3.3 配置log4net

     public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                .ConfigureLogging(logging =>  //支持IOC控制反转
                {
                    logging.AddFilter("System", LogLevel.Warning);
                    logging.AddFilter("Microsoft", LogLevel.Warning);
                    logging.AddLog4Net();
                })
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                    });
        }
    View Code

    到此,一套最基础的webapi环境已搭建完成。

  • 相关阅读:
    C#DataGridView的简单使用
    Python实现简单登陆验证(文件操作)
    【hive】centos7下apache-hive-3.1.2-bin的安装测试
    【mysql】centos7下mysql的安装以及基本操作
    【hadoop】细读MapReduce的工作原理
    【hadoop】看懂WordCount例子
    【hadoop】在eclipse上运行WordCount的操作过程
    纪念一下,时隔多年,继delphi上成功运行sql之后
    【Linux下Hadoop-eclipse-plus-3.2.0】编译Hadoop连接eclipse的插件遇见的一系列错误,崩溃的操作
    数据挖掘初次接触!学习代码
  • 原文地址:https://www.cnblogs.com/CoolYYD/p/13412807.html
Copyright © 2011-2022 走看看