1. 程式人生 > 實用技巧 >Core WebApi專案快速入門(一):初入窺探

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="log\log.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環境已搭建完成。