• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET Core 2.0 WebApi全局配置及日志实例

ASP.NET Core 2.0 WebApi全局配置及日志实例

作者:vvian 字体:[增加 减小] 来源:互联网 时间:2018-08-20

vvian 通过本文主要向大家介绍了ASP.NET,Core,2.0,WebApi,全局配置,日志等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最新在将原来写的一些webSerivce转换为WebApi,直接就用了ASP.Net Core 2.0的框架,在使用中,发现的与原有的asp.net不同的地方,通过搜索已经慢慢解决,记录下来备用。

一、全局配置

在asp.net中,全局变更配置写在web.config中,如下所示

<?xml version="1.0"?>
<configuration>
<connectionStrings>
 <add name="conn" connectionString="Data Source=localhost;Initial Catalog=helloworld;Integrated Security=True"/>
 </connectionStrings>
 <appSettings>
 <add key="app_key" value="helloworld" />
 <add key="app_secret" value="1234567890abcdef" />
 </appSettings>
</configuration>

在ASP.Net Core 2.0 WebApi中,已经没有了web.config文件,查了一些资料,可以把全局变量配置写在appsetting.json文件中,如下所示:

{
 "connectionStrings": {
 "conn": "Data Source=localhost;Initial Catalog=helloworld;Integrated Security=True"
 }
 "appSettings": {
 "app_key": "helloworld",
 "app_secret": "1234567890abcdef"
 }
}

这样一来,在程序中就可以对全局变量配置进行引用了。

使用appSetting.json,全局变量可以设置的更为复杂,具体的方法可以参考文后的参考文献。

二、记录日志

以前ASP.NET的时候,日志都是用Nlog进行记录,现在转换到了Core 2.0,也准备继续使用Nlog,在使用中,发现和以前的有也所不同。

首先,在Nuget中获取NLog.Web.AspNetCore包,

然后将startup.cs文件的代码进行修改

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
//修改为
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

并在Configure函数中,加上以下语句:

loggerFactory.AddNLog();
app.AddNLogWeb();
loggerFactory.ConfigureNLog(“nlog.config”);

记得要在文件头先引用using NLog.Web和using NLog.Extensions.Logging;

增加一个"Web配置文件",文件名为nlog.config,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <targets>
  <target xsi:type="File" name="logfile" fileName="${basedir}/logs/${shortdate}.log" keepFileOpen="false" layout="${longdate}|${callsite:fileName=True}|${uppercase:${level}}|${message} ${exception}" />
  <target xsi:type="File" name="debugfile" fileName="${basedir}/logs/${shortdate}_debug.log" keepFileOpen="false" layout="${longdate}|${callsite:fileName=True}|${uppercase:${level}}|${message} ${exception}" />
 <target xsi:type="File" name="errfile" fileName="${basedir}/logs/${shortdate}_error.log" keepFileOpen="false" layout="${longdate}|${callsite:fileName=True}|${uppercase:${level}}|${message} ${exception}" />
 </targets>
 <rules>
 <logger name="*" level="Debug" writeTo="debugfile" />
  <logger name="*" level="Error" writeTo="errfile" />
 <logger name="*" minlevel="Trace" writeTo="logfile" />
 </rules>
</nlog>

然后在程序中就可以开始调用日志功能了。

二个功能的DEMO代码如下:

using System;
using System.IO;
using Microsoft.Extensions.Configuration;
using NLog.Extensions.Logging;
using NLog.Web;
public class Program
{
 public static IConfigurationRoot Configuration { get; set; }
 public static NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();
 public static void ConfigAndLog()
 {
  var builder = new ConfigurationBuilder()
   .SetBasePath(Directory.GetCurrentDirectory())
   .AddJsonFile("appsettings.json");
  Configuration = builder.Build();
  string app_key = Configuration["appSettings:app_key"];
  string coon = Configuration["connectionStrings:conn"];
  log.Debug("数据库连接为:" + conn);
  return;
 }
}

以上这篇ASP.NET Core 2.0 WebApi全局配置及日志实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2017-05-11轻量级asp.net ajax解决方案详解
  • 2017-05-11asp.net下DataSet.WriteXml(String)与(Stream)的区别
  • 2017-05-11ASP.NET访问共享文件夹的详细步骤
  • 2017-05-11asp.net Repeater取得CheckBox选中的某行某个值
  • 2017-05-11比较简单的将数据信息导入wrod文档方案(C# for word)
  • 2017-05-11ASP.NET实现页面传值的几种方法小结
  • 2017-05-11DataSet 添加数据集、行、列、主键和外键等操作示例
  • 2017-05-11ASP.NET预定义模板介绍
  • 2017-05-11在asp.net网页中显示数学符号的代码
  • 2017-05-11asp.net+jquery ajax无刷新登录的实现方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .net中下载文件的实例代码
    • ASP.NET OutputCache详解
    • RabbitMQ .NET消息队列使用详解
    • asp.net mvc 从数据库中读取图片的实现代码
    • 在ASP.NET 2.0中操作数据之二十六:排序自定义分页数据
    • ASP.NET中使用AspnetAccessProvider
    • ASP.NET中集成百度编辑器UEditor
    • 使用ASP.NET 2.0 CSS 控件适配器生成CSS友好的HTML输出
    • asp.net Bundle功能扩展
    • asp.net中Request.QueryString与Request.Param的区别分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有