从 pythonnet C# dll 调用方法时使用 Python 的 asyncio?

问题描述

我正在使用 LibreHardwareMonitorOpenHardwareMonitor一个分支)读取有关我的计算机的信息以构建开源监控系统。它工作得很好,但是在各种硬件上调用 C# { "error": "Error Message","repos": [ "test-repo<script>alert(1)</script>" ] } 方法时,它挂起并且 asyncio 非常适合这种情况,因为可以同时发送对 Update() 的所有调用,然后代码可以恢复当所有结果都出来时,而不是一次等待一个

我检查了 LibreHardwareMonitor 库代码,但它们似乎没有使用异步。我不知道这是否相关,pythonnet 是否可以忽略它。

简单示例代码

Update()

是否有可能以某种方式将这些调用import clr clr.AddReference("LibreHardwareMonitorLib.dll") from LibreHardwareMonitor import Hardware handle = Hardware.Computer() handle.open() # Get updates about hardware sensors (motherboard,cpu,etc) handle.Hardware[0].Update() # Hangs handle.Hardware[1].Update() # Hangs handle.Hardware[2].Update() # Hangs 同时发送到 Update()?我试过了,但它不起作用,因为 await 返回 Update()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)