Windows IoT - 记录 C# 中的活动
本文关键字:活动 记录 IoT Windows | 更新日期: 2023-09-27 18:33:29
对于我的学校项目,我试图通过TCP套接字从我的树莓与Windows IoT到PC进行通信。一切正常,但我想记录流量,并意识到是否出现问题。
所以我编写了这个日志文件编写器:
public static void write(string message)
{
using (StreamWriter w = File.AppendText("''" + "log.txt"))
{
logging(message, w);
}
}
public static void logging(string logMessage, TextWriter w)
{
w.Write("'r'nLog Entry : ");
w.WriteLine("{0} {1}", DateTime.Now.TimeOfDay, DateTime.Now.Date);
w.WriteLine(" :");
w.WriteLine(" :{0}", logMessage);
w.WriteLine("-------------------------------");
}
问题是,如果我调用 Log.write(message( - (日志是类(,它会抛出以下异常:
块引用 引发异常:System.IO.FileSystem 中的"System.UnauthorizedAccessException.dll
有人知道为什么抛出这个异常吗?
它不是和普通窗口一样吗?您无法写入与 EXE 相同的文件夹,因为权限不允许这样做。要么是因为应用程序是沙盒的。
我想这解释了吗?
https://social.msdn.microsoft.com/Forums/en-US/67e9d61c-ccb6-47e4-8c7a-968166701920/c-write-to-file-on-windows-10-iot?forum=WindowsIoT
它说,
我认为您应该使用 UWP 应用程序的 StorageFile 和 StorageFolder。我们使用了它们,到目前为止没有任何问题。当我尝试在第一个版本中使用 File 类时,它根本不可用。
也许现在情况发生了变化。尝试将文件保存在"C:''Users''USERNAME''AppData''Local''Packages''YOURPACKAGE"中的文件中。应用程序应该可以访问那里,也许您可以使用 File 类。
阅读整个内容,因为它还提到文件 IO 是沙盒的,并提供此链接来建议如何写入文件,
http://grogansoft.com/blog/?p=554
Streamwriter with true,会将内容附加到文件
using (StreamWriter w = new StreamWriter("''" + "log.txt", true))
{logging(message, w);}