1、首先在电脑桌面点击打开“计算机”---->点击“系统属性”。2、进入“系统属性”,点击“设备管理器”,进入设备管理器。3、d出“设备管理器”页面后,点击键盘左侧三角形图标,---->选中“keyboard device filter”右击。4.右击后d出几个选项,可以直接点击“更新驱动程序软件”,这时就可以开始更新驱动程序了。5、如果在更新的过程因为网络等原因更新失败,那么右击“keyboard device filter”,在d出来的几个选项中点击“属性”。6、d出“keyboard device filter属性”窗口,点击“驱动程序”---->点击“回滚驱动程序”就可以将驱动还原了。
在Studio 5000 V30中创建项目时找不到1769-L32E控制器可能是由于缺少驱动程序或控制器未显示在设备列表中所致。您可以按照以下步骤尝试手动添加控制器:
1. 打开Studio 5000 V30软件,进入 "工具 - 选项 - 控制器型号" 菜单。
2. 在 "选择产品系列" 下拉菜单中选择 "CompactLogix"。
3. 选择 "选择控制器",然后在d出的"选择控制器型号"窗口中选择 "1769-L32E"。
4. 单击 "确定",控制器将被添加到设备列表中,您就可以在创建新项目时使用它了。
如果上述方法无法解决问题,则可能需要更新 Studio 5000 V30 软件以确保与新型号的 PLC 兼容。或者您也可以尝试从罗克韦尔自动化官网下载并安装最新的驱动程序。
注意:在添加控制器之前,请确保涉及 PLC 的电源已关闭,并且您有足够的关于该 PLC 的信息,如内存大小、IP 地址等。
前言
.NET Core 自带依赖注入框架,支持三种不同生命周期的注入模式:
Singleton 单例模式
Scoped 区域模式
Transient 瞬时模式
但是也不知道什么时候使用哪种模式才最合适,接下来我就用代码详细解读一下三种模式
代码示例
首先新建.NET Core API项目来进行代码测试
分别新建 Scoped、Singleton、Transient 三种模式的服务与接口,里面写一个GetIndex() 方法获取index ,用来区别服务的生命周期。
三个服务代码都是如此,然后添加依赖注入
最后在控制器中添加测试方法
使用 [FromService] 特性注入服务,每次服务注入两次,用来区别服务的变化,输出服务的index,启动项目查看结果
上图可以看到单例和区域模式下,两次注入的服务index是叠加的,可以说明两次服务注入的都是同一个。而瞬时模式两次注入的服务index都是初始值,也就说明两次服务都是新的。然后我们不停止项目在执行一次方法
可以看到单列模式和区域模式有了不同,单例模式注入的服务,index值一直在叠加,而区域模式有重新从0开始叠加。
总结
结合以上示例可以清楚地分别三种模式的差别
Singleton
单例模式,服务在第一次请求时被创建,其后的每次请求都沿用这个已创建的服务。
Scoped
作用域模式,服务在每次请求时被创建,整个请求过程中都贯穿使用这个创建的服务。
Transient
瞬态模式,服务器在每次请求时被创建
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)