powershell - runspacepool 中的共享自定义对象
问题描述
我有一个日志模块,它可以将一个对象 $log 我想在我的运行空间池中共享日志对象。目的是在每个运行空间中使用相同的日志方法。
This Object 中的数组和哈希表是同步对象,我使用互斥锁来编写文件和控制台。我和我共享变量
$sessionstate.Variables.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList "log" ,$log, "log"))
当我启动我的脚本时,当我在我的对象方法中调用私有方法时,运行空间不会随机回答(我无法使用调试运行空间)似乎卡住但并不总是相同
$log|add-member -type ScriptMethod -name Warning -value {
param(
[object]$obj
)
if($this._EnableLevel("Warning")){
$this._log("Warning",$obj)
}
有人确实已经遇到过运行空间的此类问题吗?
解决方案
推荐阅读
- android - 我无法在 Android 10 中使用 DownloadManger 下载文件?
- html - 页面缩小时试图让导航栏消失
- c - 在这个 mutex/pthread_cond_wait 结构中,我的数据会在哪里丢失?
- swiftui - SwiftUI - @State property is not updated
- odoo - 为什么我的简单 odoo 扩展在升级时会使我的服务器崩溃?
- java - 2020 年 11 月 1 日/“帐户保留”:是否必须向“帐户保留”用户显示说明性消息?
- android - 行中图像的动态列表,带有换行符(之间没有空格),允许长按图像打开编辑选项 - Flutter
- laravel - 如何在 sql 数组 laravel 中找到项目
- reactjs - 如何在组件卸载上使用 useEffect 挂钩有条件地运行代码
- javascript - 如何通过函数式编程在一个公共键上合并 N 个元组数组?