当前位置:首页 > 软件开放 > 正文内容

iis日志代码(iis日志怎么看)

软件开放11个月前 (02-12)433

↓推荐关注↓

‍前言

从实习到现在回想自己已经入行四年了,很庆幸自己一直还是从事着开发的工作。

这几年不管是工作还是生活都有很多不甘与失落还有收获,从学校出来之后有时候觉得自己的心态受不了小小的打击,可能就像平凡的世界中的孙少平一样,有着一颗敏感而脆弱的自尊心。

春种一粒粟,秋收万颗子。从2021年1月份到现在一直没有更新过博客,在这个播种的季节我想我应该要总结一下过去的技术经验,对自己是提升,对别人可能或多或少都有帮助。

阿里巴巴大神毕玄曾说过,"一个优秀的工程师和一个普通工程师的区别,不是满天飞的架构图,他的功底体现在所写的每一行代码上"。这句话我与诸君共思共勉!

分层目标

大道至简:能提高开发效率,让刚进公司的实习生也能快速上手CRUD

结构清晰:不仅要遵循DIP原则(降低耦合),而且也要保证每一层或每一个类库职责单一,减少后期维护成本

扩展/复用:分层之后有很高的复用性和更方便的横向扩展性

大道至简:能提高开发效率,让刚进公司的实习生也能快速上手CRUD

结构清晰:不仅要遵循DIP原则(降低耦合),而且也要保证每一层或每一个类库职责单一,减少后期维护成本

扩展/复用:分层之后有很高的复用性和更方便的横向扩展性

传统三层架构

传统的三层架构:表现层、业务逻辑层和数据访问层,如下图所示:

展开全文

DDD四层架构

基于DDD的四层架构:用户接口层、应用层、领域层和基础设施层,如下图所示:

与传统的三层架构相比DDD的分层架构将业务逻辑层拆为了应用层与领域层

下方左图为传统四层架构,右图为依赖倒置后的四层架构。应用层与领域层提供接口,基础设施层提供实现。

领域层不依赖任何一层,只专注与业务。个人认为基础设施层迭代频率要低于接口层,抽象程度高于表现层。所以让表现层依赖基础设施层更合适。

我的本系列博客对应的项目也是基于DDD的架构思想,当然也会加入自己的一些想法在其中。

想学习领域驱动设计的同学可移步《DDD 实战课》

我的本系列博客对应的项目也是基于DDD的架构思想,当然也会加入自己的一些想法在其中。

想学习领域驱动设计的同学可移步《DDD 实战课》

整体项目结构如下方三张图所示:

层级介绍

1、ICore.WebApi这一层主要构建 RESTful 应用程序,提供HTTP服务。管道中间件、过滤器、跨域、路由、模型验证等都在此配置。

3、ICore.Task这一层主要用于处理系统内小型定时任务。繁多、复杂的定时任务建议用第三方调度平台,例如:XXL-JOB。

4、ICore.Domain.Core这一层主要用于实现核心的业务逻辑!内部主要包含Entity(实体)、Domain Event(领域事件)、Domain Service(领域服务)等。

5、ICore.Domain.Abstractions这一层主要用于定义一些基类的接口和领域事件的接口。例如:IAggregateRoot聚合根接口、IEntity、IEntity TKey 实体接口等。

6、ICore.Infrastructure.Core这一层主要对整个应用程序提供基础实现,例如仓储的实现、工作单元模式的实现、Redis缓存、队列服务等。

7、ICore.Test这一层主要用于对整个程序的单元测试,减少不必要的BUG以及提高测试效率。

其它规范

编码、格式规范

我强烈建议大家看阿里巴巴Java开发手册,以上面的规范来约束自己的编码。

配置文件规范

全部采用json格式文件

建立映射类,使用IOptions T方式读取配置信息

数据库连接字符串、数据传输的加密密钥等不建议写在配置文件中,应放到分布式配置中心中

全部采用json格式文件

建立映射类,使用IOptions T方式读取配置信息

数据库连接字符串、数据传输的加密密钥等不建议写在配置文件中,应放到分布式配置中心中

加入恶意请求IP黑名单

防SQL注入攻击

日志应记录请求时间、操作人ID、IP地址、是否成功等重要信息

CORS策略应加上白名单限制

生产环境的接口文档不对外暴露

加入恶意请求IP黑名单

防SQL注入攻击

日志应记录请求时间、操作人ID、IP地址、是否成功等重要信息

CORS策略应加上白名单限制

生产环境的接口文档不对外暴露

首先.Net Core同Spring Boot一样都是自宿主程序,其不是必需在IIS内部托管。实现跨平台离不开.Net Core内置的kestrel高性能服务器,如下图所示(图片来自官网):

修改端口

1、在launchSettings.json文件中修改站点信息,把IIS Express节点删掉

2、在appsettings.json中设置启动端口

"Kestrel": {

"Endpoints": {

"Https": {

"Url": "https://*:8000"

},

"Http": {

"Url": "http://*:8001"

}

}

}

3、在Program中设置启动端口

app.Run( "http://*:8001");

加入Startup.cs

iis日志代码(iis日志怎么看)

从.NET 6.0开始已去除了Startup.cs 文件,依赖注入服务和Middleware全在Program.cs中配置。

我从写.NET Core 2.0开始一直到现在,Startup.cs文件我觉得还是有必要存在,个人使用习惯而已

改造Program.cs

using ICore.WebApi;

var builder = WebApplication.CreateBuilder(args);

var startup = new Startup(builder.Configuration);

startup.ConfigureServices(builder.Services);

startup.Configure(builder.Build);

重写Startup.csnamespaceICore.WebApi

{

publicclassStartup

{

publicIConfiguration Configuration { get; }

publicStartup( IConfiguration configuration) = Configuration = configuration;

// This method gets called by the runtime. Use this method to add services to the container.

publicvoidConfigureServices( IServiceCollection services)

{

services.AddControllers;

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle

services.AddEndpointsApiExplorer;

services.AddSwaggerGen;

}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

publicvoidConfigure( WebApplication app)

{

if(app.Environment.IsDevelopment)

{

app.UseSwagger;

app.UseSwaggerUI;

}

app.UseAuthorization;

app.MapControllers;

app.Run( "http://*:8001");

}

}

}

Run起来!

使用命令行启动dotnet ICore.WebApi.dll --urls="http://*:8001" --ip="127.0.0.1" --port=8001

这一节就到这里,后面会继续上新!

转自:江北

转自:江北

- EOF -

点击标题可跳转

微软公布 .NET最新的编程语言支持策略

.NET 提升开发效率的强大多功能工具箱

.NET 6.0 开发的配置中心开源项目

看完本文有收获?请转发分享给更多人

推荐关注「DotNet」,提升.Net技能

点赞和在看就是最大的支持❤️

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://hon-tex.cn/post/87709.html

标签: iis日志代码
分享给朋友:

“iis日志代码(iis日志怎么看)” 的相关文章

web前端表单代码(html表单代码大全)

web前端表单代码(html表单代码大全)

今天给各位分享web前端表单代码的知识,其中也会对html表单代码大全进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、Web前端怎样实现像excel那样的按列拖选的表格 2、web前端 基础 操作题 3、HTML5网页前端设计中如下图表单的代码怎么写...

微信商家小程序怎么申请视频(怎么样申请微信小程序商家)

微信商家小程序怎么申请视频(怎么样申请微信小程序商家)

今天给各位分享微信商家小程序怎么申请视频的知识,其中也会对怎么样申请微信小程序商家进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、微信小程序怎么申请注册? 2、小程序直播怎么申请开通? 3、微信小程序如何申请 微信小程序申请方法 4、怎样注册微信...

有没有做装修直播平台的(装修行业如何做直播)

有没有做装修直播平台的(装修行业如何做直播)

今天给各位分享有没有做装修直播平台的的知识,其中也会对装修行业如何做直播进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、未来装修行业直播能发展的像电商直播那样吗? 2、装修网站排行榜前十名有哪些?哪个网站最好? 3、关于装修的网站平台有哪些 4、...

腾讯游戏账号交易平台(腾讯游戏账号交易平台提现)

腾讯游戏账号交易平台(腾讯游戏账号交易平台提现)

本篇文章给大家谈谈腾讯游戏账号交易平台,以及腾讯游戏账号交易平台提现对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、腾讯有一个游戏账号交易平台叫乐购7990吗? 2、请问腾讯游戏是不是有一个交易平台? 3、十大手游交易平台排行榜 腾讯有一个游戏账号交易平台叫乐购...

自动抢购秒杀数字藏品(自动抢购秒杀数字藏品是真的吗)

自动抢购秒杀数字藏品(自动抢购秒杀数字藏品是真的吗)

今天给各位分享自动抢购秒杀数字藏品的知识,其中也会对自动抢购秒杀数字藏品是真的吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、soul上的数字藏品是怎么弄的 2、数字藏品发售方式有哪些?(数字藏品交易系统平台发售功能开发) 3、支付宝数字藏品怎么做...

查看网站源码获取(查看网站源码获取信息)

查看网站源码获取(查看网站源码获取信息)

今天给各位分享查看网站源码获取的知识,其中也会对查看网站源码获取信息进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、怎样查看网页源代码 2、如何查看网页的源码 3、怎么获取网页源代码中的文件? 怎样查看网页源代码 参考下面方法查看:操作工具:ie浏...