Autofac在.NetCore 下的使用】的更多相关文章

在工作开发中很多地方都会使用到接口模式开发,这里就会用到依赖注入,.NetCore目前是自带的 ,在 Startup.cs中的 ConfigureServices方法中增加 public void ConfigureServices(IServiceCollection services) { services.AddMemoryCache(); services.AddMvc().AddWebApiConventions(); services.AddMvc().SetCompatibilit…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 这里们来做一个简单的业务列表功能…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 前面一篇中处理授权类,但是不难发…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 对于我们的组件页面当然不是所有的…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 在前面的基础上我们来添加引入我们…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 在.netcore中大家经常会看…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 相信很多人都nuget包,一般自…
Tips: 1.目前NetCore下与Modbus通信的框架主要选择了 Modbus.Net  https://github.com/parallelbgls/Modbus.Net 2.modbus是常用的工业通信协议,在软件调试时可以通过modbus poll+slave模拟通信通过达到调试目的,下图是我使用软件 1)为串口模拟工具 2)为Modbus Slave模拟工具 3)为Modbus Poll模拟,修改对应Value值即可发送到Slave 调用和测试代码: public class M…
原文:.netcore下的微服务.容器.运维.自动化发布 微服务 1.1     基本概念 1.1.1       什么是微服务? 微服务架构是SOA思想某一种具体实现.是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并采用轻量级的通讯机制(TCP)进行通信.这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署.这些服务的集中化管理已经是最少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术. 1.1.2       为什么要用微服务? 1.…
原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为Lax. 有时页面需要用到验证码时,可能需要TempData保存一下,但是这种情况是无效的,因此需要用Session来存取,因为Session可以配置SameSiteMode 废话不多说,要修改的位置有3个,均是在Startup里面,设置完成即可 services.Configure<CookiePol…
NETCore下IConfiguration和IOptions的用法 https://www.cnblogs.com/RainingNight/p/strongly-typed-options-configure-in-asp-net-core.html…
在.NetCore中使用自带的IOC容器 写注入的时候会写很多,如果要自己封装的话也达不到预期的效果,所以这里采用Autofac来时替代 .NetCore自带的容器 nuget首先引用Autofac.Extensions.DependencyInjection,关联的Autofac包也一起添加上了 这里我对DI类的生命周期做了一些特性处理 在.NetCore自带的容器中 有Scoped\Singleton\Transient,这里就不对这三个区别做介绍了 我定义了三种特性,对应这三种方式 pub…
Autofac 4+以上和以前的配置不一样的,最近在NetCore中做项目,得到实例时折腾了一番. 使用场景,用autofac实例化数据库类型,避免一个个的去new json配置文件: <?xml version="1.0" encoding="utf-8" ?> <autofac defaultAssembly="Data.Orm.Dapper"> <components name="Chloe"…
说道这一块纠结了我两天时间,感觉真的很心累,Jenkins的安装就不多说了 这里我们最好直接安装到宿主机上,应该pull到的jenkins版本是2.6的,里面很多都不支持,我自己试了在容器中安装的情况,效果很不满意 这篇文章主要就是为了解决两个问题: 1.配置问题 2.容器发布运行问题 为了解决这两个问题也是费了我不少精力,首先shell编程你的会啊,做一个DevOps真心累,关于Jenkin拉去代码的问题这里不多说,主要针对上面2个问题说下我个人的观点 微服务架构都是有配置中心,为了解决第一个…
新建.NetCore的控制台项目 使用Nuget安装Pomelo.entityframeworkcore.mysql 工程右键--->编辑.csproj文件,把以下内容写入到工程文件 <ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.1.1" /> </ItemGroup> 修…
日志的分类 首先往大的来说,日志分2种 ①业务日志: 即业务系统需要查看的日志, 常见的比如谁什么时候修改了什么. ②参数日志: 一般是开发人员遇到问题的时候定位用的, 一般不需要再业务系统里展示. 对于业务日志, 我们现在基本确定" 业务日志是业务" 这么个准则, 即业务日志应该跟随着业务表走. 比如你一个订单的操作日志, 那么订单表再哪它就应该在哪, 业务日志应该要跟着你的业务操作同生共死(事务性), 基于上述理念所以业务日志我们不会用table存 对于参数日志, 我觉得这个说是后…
之前一直做dotnet framework开发,依赖注入使用Autofac,Autofac的一般用法是服务启动时,将用到的接口.实现类名注入进去, 然后在服务其他地方如果使用该类时,直接在Container里面Resolve出来即可. 后来使用netcore 2.1,框架本身使用了Microsoft.Extensions.DependencyInjection,是服务启动时,把需要注入的服务通过 public void ConfigureServices(IServiceCollection s…
本人主要利用IdentityServer4以及SignalR来实现,IdentityServer4作为认证,SignalR来交互配置,这里一些代码可能就是部分提出来,主要介绍实现原理及方法 实现配置中心核心的两个点我们要放在 1.配置文件如何传送 2.配置文件如何动态的更新 配置文件的传送结合SignalR来实现 思考:什么样的客户端可以来获取配置? 这里客户端我们配置了 这里我直接结合Identityserver4,配置客户端id,客户端密钥,配置中心地址.在配置一个IdentityServe…
Prometheus中包含了很多收集指标,那么我们怎来在Grafana中来使用呢? 接下来我们还是以之前自定义的来演示如图:我们在Prometheus中已经可以看到这个之前我们自定义的类型了 关于Grafana的部署前面的文章已经介绍过了,这里就不继续介绍了,这里新建一个面板 添加图表 创建好后会默认添加一个图标,这里我们选择编辑 接下来选择数据源名称,前面的章节已经介绍过了 如下图输入我们自定义的指标,其实这里都是智能检索的,都有提示的,我们选这这个之前定义好的 然后统计图就已经有了如图: 这…
Prometheus下面定了四种类型的收集方式,下面我们主要来来说下Counter的使用 Nuget导入Prometheus.AspNetCore包 下面先来看下我的Prometheus配置,这里我没有分组了 这里我有三个服务,分别是认证服务40000 用户服务 40001 以及体检服务 40002 配置好了重新用配置启动,已启动kill掉在启动 这里我们访问 http://192.168.0.212:9090/targets,可以看到配置的服务状态都是Up,其实Prometheus中自带了服务…
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = _authorityconfig.Authority; options.RequireHttps…
在代码中使用就比较简单了 Nuget包获取下 prometheus-net prometheus-net.AspNetCore 然后添加中间件就行了 app.UseMetricServer(); 默认地址都是/metrics,在Prometheus中的targets就是指向了这个地址,当然如果需要认证的话需要处理,Prometheus也需要设置先关认证,这里我写在了GateWay中,允许查看下 http://localhost:5000/metrics # HELP process_window…
有了前面InfluxDB的经验,这里就很好处理了,数据类型选择Prometheus选地址等,填好保存 同样通过导入数据处理,我们在https://grafana.com/dashboards上选择Dashboards,可以拷贝Josn也可以输入ID 导入就行了 也可以通过这里导入 看下接下来的工作面板…
Prometheus对Windows有相关的支持  下载地址:https://prometheus.io/download/ wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz 如果需要也可以下载其他组件支持 解压安装: tar -xvf prometheus-.linux-amd64.tar.gz 查看配置:cd /目录查看配置 cd…
[译]原文https://prometheus.io/docs/introduction/overview 什么是Prometheus? Prometheus是一个开源系统监控和警报工具包,最初起源于SoundCloud.自2012年成立以来,许多公司和组织都采用了Prometheus,该项目有一个非常活跃的开发人员和用户社区.它现在是一个独立的开源项目,Prometheus在2016年加入了云计算基金会,成为继Kubernetes(k8s)之后的第二个托管项目. 特性介绍 Prometheus…
在使用微服务的过程中经常会遇到这样的情况,就目前我遇到的问题做下分析 情况一: 这里服务对于前后端分离情况来说,多使用查询服务,前端直接获取不同服务的数据展示,如果出现其中的服务失败,对业务数据无影响,只对前端数据展示出现影响 情况二 这列聚合服务主要出现在操作上,各个服务存在相互调用,相互协作完成某一项操作的情况 接下来我在API中添加了聚合服务模块,利用 IHttpClientFactory处理了情况的服务根目录及授权问题 services.AddHttpContextAccessor();…
分析下染色体基因 这里用 老师 课程 班级 教室 周天 上下晚 课时作为染色体编码我封装了如下类 /// <summary> /// NP 授课事件 由教室.课程.班级 时间片段构成 liyouming add 20180607 /// </summary> public class NP { ///// <summary> ///// 暂时不作为染色体基因处理 ///// </summary> public int Week { get; set; } /…
Tips: 1.注意跟普通版Net.MVC的前端处理方式不一样,以前可以connection.start()后直接done里面再做逻辑处理,现在不行了 建议做法是在具体的业务Hub里重写OnConnectedAsync事件,来为当前连接ID做分组等处理 2.目前版本只支持了websocket协议,还不支持Comet长连接方式 后台代码: public class MessengerHub : Hub { private readonly IHttpContextAccessor _accesso…
把遇到的问题汇总一下: 一.安装mvc5版本 命令:pm> Install-Package Autofac 结果安装的Autofac.Integration.Mvc(版本为4.0),所引用的依赖项system.web.mvc版本为5.1,高于我现在的5.0,报错! 二.使用之前的mvc4版本,会报 “重写成员“Autofac.Integration.Mvc.AutofacDependencyResolver.GetService(System.Type)”时违反了继承安全性规则.重写方法的安全可…
1.背景 由于历史原因,笔者所在的公司原有的ES查询驱动采用的是 PlainElastic.Net, 经过询问原来是之前PlainElastic.Net在园子里文档较多,上手比较容易,所以最初作者选用了该驱动,而发布也由于历史原因都部署在 windows 服务器上,基于 .NET Framework开发. 后来由于迁移 .NET CORE 平台的需要,对代码进行了升级,同时部署平台也迁移至 CentOS7 服务器,升级过程比较顺利,由于没有使用特殊API,所以几乎没有对业务代码做更多的修改,同时…